Symbol.isConcatSpreadable
이 잘 알려진 기호는 Array.prototype.concat() 메서드를 사용할 때 개체를 배열 요소로 병합해야 하는지 여부를 구성하는 데 사용됩니다. . 거짓인 경우 그러면 어레이가 평평해지지 않습니다. 기본적으로 Symbol.IsConcatSpreadable 사실입니다. . 따라서 명시적으로 평탄화 로 선언되지 않는 한 배열을 피할 수 없습니다.
기호 없음
예시
다음 예에서 기호 Symbol.IsConcatSpreadable 명시적으로 언급하지 않았다. 따라서 기본적으로 배열은 출력에 표시된 대로 평면화되었습니다.
<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.IsConcatSpreadable 평탄화 출력에 표시된 대로 배열이 발생하지 않았습니다.
<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)]