1 생성자에서 시작하여 obj instanceof Array
typeof를 사용하여 typeof 메서드를 반환할 수 있습니다. string. , 데이터 유형을 나타내지만 typeof는 데이터 유형을 결정하는 데 정확하지 않습니다. 예를 들어 배열, 정규식, 날짜, 객체의 반환값 유형은 모두 객체이므로 일부 오류가 발생합니다.
instanceof 연산자는 객체의 프로토타입 체인에 생성자의 프로토타입 속성이 있는지 테스트하고 부울 값을 반환하는 데 사용됩니다.
2 프로토타입 Array.prototype.isPrototypeOf(obj);
isPrototypeOf() 메서드를 사용하세요. 배열이 obj의 프로토타입 체인에 있는지 확인하려면 true를 반환하고 그렇지 않으면 false를 반환합니다.
3.Array.isArray() 메서드
사실 js는 Array.isArray() 메서드를 제공했습니다. 배열 유형은 다음과 같습니다. :
MDN에서는 Array.isArray()를 사용할 수 없는 경우 isArray와 instanceof의 차이점을 비교합니다. 이전에 언급한 세 번째 방법인 Object.prototype.toString.call(obj)을 사용하는 것이 여전히 권장됨을 나타내는 다음 패치를 만들었습니다.
4. 객체의 클래스 속성(class attribute)에 따라 프로토타입 체인 전체에서 toString() 메서드를 호출합니다.
js에서 객체가 생성되면 생성된 객체의 유형 이름이 내부적으로 전달된다는 점을 설명하세요. 그렇다면 이 객체의 유형 이름을 얻는 방법은 무엇입니까?
js는 객체 프로토타입인 Object.prototype.toString.call(obj)에 toString 메소드를 제공합니다. 왜냐하면 많은 객체가 상속한 toString() 메소드를 호출할 수 있도록 다시 작성했기 때문입니다. 가장 원본 버전인 toString() 버전이 정확합니다. Function.call() 메서드를 사용할 수 있습니다. 여기서 호출은 이 방식으로 이해될 수 있습니다. 이는 obj가 이 Object.prototype.toString();
을 차용하는 것과 동일합니다.따라서 이 방법을 사용하면 다음과 같은 개체 이름을 얻을 수 있습니다. #
추천 튜토리얼: java 개발 소개
위 내용은 Java는 객체가 배열인지 여부를 결정합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!