在布尔原型中创建自定义函数,该整数在Integer中返回自身值

时间:2018-11-01 21:20:05

标签: javascript function prototype

我想创建一个自定义原型,将自布尔值转换为整数

示例

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

我尝试创建一个自定义原型,但找不到值

Boolean.prototype.testf=() => {console.log(this)}; // don't found value of true

2 个答案:

答案 0 :(得分:3)

您不能使用箭头函数,因为它们在词法上确定this时,请使用常规函数:

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

答案 1 :(得分:1)

arrow-function实际上使用当前的封闭上下文,在您的代码中使用对象window作为上下文。

  

箭头函数表达式 的语法比function expression短,并且没有自己的thisargumentssupernew.target

请改用function declarationfunction expression

Boolean.prototype.toInt = function() {
  console.log('' + this);
};

let x = true;
x.toInt();

let y = false;
y.toInt();