ECMAScript 2017 中对 Array 的追加和与、或、非逻辑操作符

ECMAScript 2017 是 JavaScript 最新的标准,也称为 ES8。在这个新标准中,对于数组的操作进行了一些追加和改进,同时还增加了三个逻辑操作符:与、或、非。本文将详细介绍这些新特性,并提供示例代码和指导意义。

Array.prototype.includes

在 ES6 中,JavaScript 引入了 Array.prototype.indexOf 方法来查找数组中的元素。但是,indexOf 方法有一个缺点,即无法判断数组中是否包含 NaN 元素,因为 NaN === NaN 的结果是 false。在 ES7 中,JavaScript 引入了 Array.prototype.includes 方法来解决这个问题。

Array.prototype.includes 方法接收一个参数,用于指定要查找的元素。如果数组中包含该元素,则返回 true;否则返回 false。下面是一个示例:

Array.prototype.flat 和 Array.prototype.flatMap

在 ES6 中,JavaScript 引入了 Array.prototype.flat 方法来将嵌套的数组展开为一维数组。在 ES7 中,JavaScript 引入了 Array.prototype.flatMap 方法,它与 Array.prototype.map 方法类似,但是可以将嵌套的数组展开为一维数组。

Array.prototype.flat 方法接收一个参数,用于指定要展开的层数。如果不指定参数,则默认展开一层。下面是一个示例:

Array.prototype.flatMap 方法接收一个参数,用于指定对每个元素执行的映射函数。这个映射函数可以返回一个数组,这个数组会被展开为一维数组。下面是一个示例:

逻辑操作符

在 ES7 中,JavaScript 引入了三个逻辑操作符:与、或、非。这些操作符与它们在其他编程语言中的行为类似,但是在 JavaScript 中有一些特殊的规则。

与操作符(&&)

与操作符可以用于连接两个表达式。如果第一个表达式的值为真,则返回第二个表达式的值;否则返回第一个表达式的值。如果第一个表达式的值为假,则不会执行第二个表达式。

下面是一个示例:

或操作符(||)

或操作符可以用于连接两个表达式。如果第一个表达式的值为真,则返回第一个表达式的值;否则返回第二个表达式的值。如果第一个表达式的值为假,则会执行第二个表达式。

下面是一个示例:

非操作符(!)

非操作符可以将一个表达式的值转换为布尔值,并返回相反的值。如果表达式的值为假,则返回 true;否则返回 false

下面是一个示例:

总结

在 ECMAScript 2017 中,JavaScript 引入了一些新特性,包括 Array.prototype.includesArray.prototype.flatArray.prototype.flatMap 和逻辑操作符。这些特性可以帮助我们更方便地操作数组和进行逻辑运算。在编写 JavaScript 代码时,我们应该熟练掌握这些特性,并适当地运用它们来提高代码的可读性和效率。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/653c973a7d4982a6eb6ac7fb


纠错
反馈