Я хочу создать собственный прототип, который преобразует self boolean в integer
пример
let x = true;
x.toInt() // 1
Я попытался создать собственный прототип, но я не могу найти значение
Boolean.prototype.testf=() => {console.log(this)}; // don't found value of true
Вы не можете использовать функции стрелок, поскольку они определяют их this
лексически, идут с регулярной функцией:
Boolean.prototype.toInt = function() {
return +this;
};
Функция- arrow-function
фактически использует текущий охватывающий контекст, в вашем коде используется window
объекта в качестве контекста.
Выражение функции стрелки имеет более короткий синтаксис, чем выражение функции и не имеет свое собственное это, аргументы, супер, или new.target.
Вместо этого используйте либо function declaration
function expression
либо function expression
.
Boolean.prototype.toInt = function() {
console.log('' + this);
};
let x = true;
x.toInt();
let y = false;
y.toInt();
+x
...