Создайте пользовательскую функцию в прототипе Boolean, которая возвращает значение self в Integer

1

Я хочу создать собственный прототип, который преобразует self boolean в integer

пример

let x = true;
x.toInt() // 1

Я попытался создать собственный прототип, но я не могу найти значение

Boolean.prototype.testf=() => {console.log(this)}; // don't found value of true
  • 5
    Вы можете просто использовать +x ...
  • 1
    Вместо этого используйте функцию. () теряет это.
Теги:
function
prototype

2 ответа

3
Лучший ответ

Вы не можете использовать функции стрелок, поскольку они определяют их this лексически, идут с регулярной функцией:

 Boolean.prototype.toInt = function() {
   return +this;
 };
1

Функция- 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();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню