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)]
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短