在Javascript / Chrome Browswer中的匿名函数中使用它会给出错误:无法读取未定义的属性"localeCompare"



我遇到了"无法读取未定义的属性'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) {
    .....
}

相关内容

最新更新