JavaScript中Symbol.isConcatSpread的重要性是什么?
Symbol.isConcatSpread
此众所周知的符号用于配置在使用Array.prototype.concat()方法时是否应将对象展平为其数组元素。如果为假 ,则不对数组进行展平。默认情况下,Symbol.IsConcatSpread 为true。因此,除非且没有明确声明,否则不能避免数组的变平 。
无符号
示例
在以下示例中,未明确说明符号Symbol.IsConcatSpread。因此,默认情况下,数组将按照输出中所示的方式展平。
<html><body>
<script>
var arr1 = ['mango', 'apple', 'guava'];
var arr2 = ['cashew', 'pista', 'bhadham'];
var res1 = arr1.concat(arr2);
console.log(res1);
</script>
</body>
</html>
输出结果
["mango", "apple", "guava", "cashew", "pista", "bhadham"]
带符号
示例
在下面的示例中,显式声明了Symbol.IsConcatSpread符号,因此未如输出所示对数组进行展平。
<html><body>
<script>
var arr1 = ['mango', 'apple', 'guava'];
var arr2 = ['cashew', 'pista', 'bhadham'];
arr2[Symbol.isConcatSpreadable] = false;
var res2 = arr1.concat(arr2);
console.log(res2);
</script>
</body>
</html>
输出结果
["mango", "apple", "guava", Array(3)]
以上是 JavaScript中Symbol.isConcatSpread的重要性是什么? 的全部内容, 来源链接: utcz.com/z/326762.html