我遇到了"无法读取未定义的属性'localeCompare'"的错误
当我尝试将比较(字符串,字符串(的字符串函数转换为字符串时
。 let compare = (y, x) => y.localeCompare(x) == 0 ? true : false; //This works
let gender = x => compare("male", x) || compare("female", x); //This works
String.prototype.compareTruthy = (x) => {
this.localeCompare(x) == 0 ? true : false;
}
"male".compareTruthy("male") //This does not work, why?
我想将这个 compareTruthy 函数重用于我以后可能进行的任何其他字符串比较。
在我的理解中,我错过了什么?
箭头函数表达式没有当前对象的上下文。阅读此页面。
您需要使用:
String.prototype.compareTruthy = function(x) {
.....
}