Array.prototype.includes
本章描述了由 Domenic Denicola 和 Rick Waldron 提出的 ECMAScript 2016 特性 “Array.prototype.includes
”。
includes
数组方法 includes
具有以下签名:
如果 value
是其接收器 (this
) 的元素,则返回 true
,否则返回 false
。
includes
与 indexOf
类似——以下两个表达式基本等效:
主要区别在于 includes()
可以找到 NaN
,而 indexOf()
不能。
includes
不区分 +0
和 -0
(这几乎是 JavaScript 的工作方式)。
类型化数组也将具有方法 includes()
。
includes
而不是 contains
?Array.prototype
中)。includes
而不是 has
?has
用于键 (Map.prototype.has
),includes
用于元素 (String.prototype.includes
)。Set 的元素可以被视为键和值,这就是为什么存在 Set.prototype.has
(而没有 includes
)的原因。String.prototype.includes
处理字符串,而不是字符。这与 Array.prototype.includes
不一致吗?includes
的工作方式与字符串 includes
完全相同,则它将接受数组,而不是单个元素。但这两个 includes
都遵循 indexOf
的示例;字符被视为特殊情况,任意长度的字符串被视为一般情况。Array.prototype.includes
(Domenic Denicola, Rick Waldron)