>웹 프론트엔드 >JS 튜토리얼 >속성 할당은 JavaScript 배열 길이에 어떤 영향을 줍니까?

속성 할당은 JavaScript 배열 길이에 어떤 영향을 줍니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-02 03:40:13865검색

How Do Property Assignments Affect JavaScript Array Length?

배열 이상: 속성 대 요소

JavaScript에서 객체의 다양성은 배열에서도 확장됩니다. 이 이상한 현상은 배열이 객체 프로토타입에서 상속된다는 사실에서 발생합니다. 결과적으로 배열은 객체인 것처럼 조작될 수 있습니다.

배열의 속성 할당

다음 코드 조각을 고려하세요.

var myArray = Array();
myArray['A'] = "Athens";
myArray['B'] = "Berlin";

var myObject = {'A': 'Athens', 'B':'Berlin'};

이러한 코드 조각은 다음과 동일하게 나타납니다. 둘 다 명명된 속성을 가진 개체를 만듭니다. 그러나 이들 사이에는 근본적인 차이점이 있습니다.

재산 남용의 함정

배열은 객체로 취급될 수 있지만 배열의 기본 목적은 객체라는 점에 유의하는 것이 중요합니다. 숫자로 색인된 데이터의 경우. 숫자가 아닌 키를 배열에 할당하면 예기치 않은 동작이 발생할 수 있습니다.

예를 들어 다음을 고려하세요.

var myArray = Array();
myArray['A'] = "Athens";
myArray['B'] = "Berlin";

alert(myArray.length);

'2'(예상 요소 수)를 표시하는 대신, 경고에 '0'이 표시됩니다. 이는 숫자가 아닌 키('A' 및 'B')가 숫자로 인덱스된 요소의 수를 추적하는 배열의 길이 속성을 증가시키지 않기 때문입니다.

결론적으로 추가하는 것이 편리해 보일 수 있지만 명명된 속성을 배열에 추가하는 경우 이러한 방식은 배열의 목적을 훼손하고 예상치 못한 동작을 초래할 수 있으므로 피해야 합니다. 숫자가 아닌 키의 경우 대신 순수 객체를 사용하는 것이 좋습니다.

위 내용은 속성 할당은 JavaScript 배열 길이에 어떤 영향을 줍니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.