ES6中String.prototype.includes /包含的区别?怎么样.has?

时间:2015-10-10 04:11:14

标签: javascript node.js string ecmascript-6

我想知道哪些方法会成为标准。从我所看到的是,两种方法都产生类似的结果,但我不确定为什么有两个版本/别名。他们之间有区别吗?此外,为什么ES6使用.has时可以使用.contains.includes在一个名称下用于多个目的。

我知道字符串上没有使用.has

我的测试支持:

        | Contains      Includes
Chrome  | No            Yes
Firefox | Yes           Yes
NodeJS  | Yes           No

2 个答案:

答案 0 :(得分:0)

Array.prototype.includes返回一个布尔值。

Array.prototype.indexOf返回一个数字。

Array.prototype.contains不是本机JS。

答案 1 :(得分:0)

听起来他们想避开一些兼容性问题。我不确定那些是什么,但我猜当时 Firefox 和 NodeJS 的实现差异很大,他们需要避免它们。

https://github.com/tc39/proposal-Array.prototype.includes/commit/4b6b9534582cb7991daea3980c26a34af0e76c6c