Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 Symbol.isConcatSpreadable의 중요성은 무엇입니까?

<시간/>

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)]