내가 자바 스크립트에서 독서되었습니다자바 스크립트 초보자 : Array.isArray() 쿼리
- 이 모든 객체가
- (예 : 숫자, 문자열, 부울, null의 & 정의되지 않은 등의 프리미티브 제외)입니다 객체는 연관 배열으로 처리 될 수 있습니다.
내가 결론 내 렸던 것으로부터, Array.isArray()는 앞에서 언급 한 예외를 제외하고 모든 경우에 true를 반환해야합니다. 내가 틀린 것은 무엇 이었는가?
감사합니다.
내가 자바 스크립트에서 독서되었습니다자바 스크립트 초보자 : Array.isArray() 쿼리
내가 결론 내 렸던 것으로부터, Array.isArray()는 앞에서 언급 한 예외를 제외하고 모든 경우에 true를 반환해야합니다. 내가 틀린 것은 무엇 이었는가?
감사합니다.
개체와 배열간에 차이가 있습니다. 배열은 실제로 배열 개체입니다. 그것은 다른 객체 들과는 다른 방법을 가지고 있습니다. String은 문자열 개체입니다. 그러나 개체가 배열 인 것처럼 개체에 액세스 할 수 있습니다. 당신이 그것이 배열 개체 있다는 것을 의미하지 않는다
obj['value1'];
obj['value2'];
같은 값을 얻을 수 있습니다
var obj = {
value1: 'Some Value',
value2: 'Some Other Value'
};
다음과 같은 목적을 가지고, 그것은 그냥
끝나면 IsArray 액세스하는 다른 방법이() 객체가 배열 객체인지 확인합니다. 액세스 할 수없는 경우 과 같은 배열
배열 (자바 스크립트의 [[Class]] 유형)은 연관 배열 (추상 데이터 유형)과 같지 않으며 Array.isArray
은 ({}).toString.call(obj) === "[object Array]"
과 같이 객체가 일반 배열인지 확인합니다.
- Type (arg)이 Object가 아닌 경우 false를 반환합니다.
- arg의 [[Class]] 내부 속성 값이 "Array"이면 true를 반환합니다.
- false를 반환합니다.
"개체를 연관 배열로 처리 할 수 있음"이 "개체는 연관 배열입니다"를 의미하지는 않습니다. – Gumbo
_ "연관 배열"을 정의하려는 방식에 따라 "연관 배열"로 처리 할 수 있습니다. 명백한 유사성이 있지만 일부 언어의 "연관 배열"에는 JS 객체에없는 특정 특성이 있습니다 (반대의 경우도 마찬가지 임). – nnnnnn