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 夜雨祝福语简短10字
16 蛋糕祝福语简短闺蜜
17 部门过年祝福语简短独特
18 简短精炼的结婚祝福语