我目前有一个名为 isColor 的 String.protype,它正在检查颜色。 但我不希望它在函数内部有一个参数。
我想归档这样的东西:
const color = 'red';
console.log(color.isColor());
预期输出:
真
最佳答案
在方法内部,将 this
(实例)与您要比较的内容进行比较:
String.prototype.isColor = function() {
return ['red', 'orange', 'yellow'].includes(String(this));
}
console.log('red'.isColor());
console.log('somethingElse'.isColor());
如果您在草率模式下运行脚本,则需要 String
来转换 this
,在这种情况下,this
将是一个字符串 < em>object,不是字符串primitive,所以在比较之前需要将其转为primitive。
但请记住,改变内置原型(prototype)是 very bad practice - 如果可能的话,您应该强烈考虑使用不同的方法。
关于javascript - 获取原型(prototype)之前的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61658863/