배열에 명명된 속성 추가: 객체와 유사한 동작 탐색
JavaScript는 일반적으로 숫자 데이터에 사용되는 배열이 명명된 속성을 가진 객체처럼 처리될 수 있습니다. 아래 코드 조각은 이를 보여줍니다.
var myArray = Array(); myArray['A'] = "Athens"; myArray['B'] = "Berlin";
var myObject = {'A': 'Athens', 'B':'Berlin'};
두 조각 모두 동일하게 작동하는 것으로 보이며 typeof(myArray) 및 typeof(myObjects)는 '객체'를 반환합니다.
차이점을 밝히다
유사함에도 불구하고 미묘한 차이가 있습니다 이 변종 사이. 배열은 본질적으로 숫자 인덱싱에 최적화되어 있으며 명명된 속성을 추가하면 이 최적화가 중단될 수 있습니다.
이를 설명하기 위해 다음 코드를 고려하세요.
var myArray = Array(); myArray['A'] = "Athens"; myArray['B'] = "Berlin"; alert(myArray.length);
이 코드는 대신 '0'을 표시합니다. '2'는 명명된 속성이 추가되었음에도 불구하고 배열에 요소가 추가되지 않았음을 나타냅니다. 배열 객체에는 속성만 추가되었습니다.
결론
이름이 지정된 속성을 추가하면 배열이 객체로 남용될 수 있지만 의도한 목적을 기억하는 것이 중요합니다. 데이터. 숫자가 아닌 데이터에 배열을 사용하면 예기치 않은 동작이 발생하고 성능이 저하될 수 있습니다. 객체 객체는 명명된 숫자가 아닌 데이터를 관리하는 데 선호되는 선택입니다.
위 내용은 JavaScript 배열을 객체처럼 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!