我想创建一个自定义原型,将自布尔值转换为整数
示例
let x = true;
x.toInt() // 1
我尝试创建一个自定义原型,但找不到值
Boolean.prototype.testf=() => {console.log(this)}; // don't found value of true
答案 0 :(得分:3)
您不能使用箭头函数,因为它们在词法上确定this
时,请使用常规函数:
Boolean.prototype.toInt = function() {
return +this;
};
答案 1 :(得分:1)
arrow-function
实际上使用当前的封闭上下文,在您的代码中使用对象window
作为上下文。
箭头函数表达式 的语法比function expression短,并且没有自己的this,arguments, super或new.target。
请改用function declaration
或function expression
。
Boolean.prototype.toInt = function() {
console.log('' + this);
};
let x = true;
x.toInt();
let y = false;
y.toInt();