javascript - 获取原型(prototype)之前的字符串值

标签 javascript string prototype

我目前有一个名为 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/

相关文章:

string - 在PowerShell中的分隔符之后/之前截断字符串中的文本

javascript - 如果 [] 是 [] 并且 Array.prototype 是 [] 为什么不 ([] == Array.prototype)

javascript - 业务催化剂 prototype-core.ashx Refused to set unsafe header "Connection"冲突

javascript - js创建高级原型(prototype)

javascript - ReactJS 组件似乎没有独立的作用域

c# - 如何将 JavaScript 多维数组解析为 C# 数组?

javascript - 替换字符串中的每个第 n 个字符

javascript - 将一个函数包装在另一个函数中

javascript - 使用javascript获取可靠的可用宽度和高度

c++ - 没有用于初始化 'string'(又名 'basic_string<char>')的匹配构造函数