2016-06-15 2 views
0

JavaScript instanceof 연산자는 프로토 타입 체인을 사용하여 객체 유형을 반환합니다.자바 스크립트에서 실제 클래스 유형을 얻는 방법

내가 계층 구조 아래에 있다고 가정 해 보겠습니다.

이제 어떤 인스턴스가 실제로 rabit 또는 동물 또는 개체인지 알고 싶다면이 작업을 수행 할 수 없습니다.

if (rabbitObj instance of Animal) // true 
if (rabbitObj instance of Rabit) // true 
if (rabbitObj instance of Object) // true 

어떻게 rabbitObj가 실제로 토끼인지 얻을 수 있습니다.

프로토 타입 체인을 따르는 대신 실제 인스턴스 유형을 얻을 수있는 방법은 무엇입니까?

+3

"실제로"토끼? 당신은 아마 이것을 의미 할 것입니다 : http://stackoverflow.com/a/1249554/438992 –

+0

당신이 당신 자신의 질문에 답하는 것 같습니다 -> if (Rabit의 rabbitObj 인스턴스) // true. 귀하의 질문에 대한 대답입니다. – Guillermo

+0

[JavaScript에서 객체 유형의 이름을 얻으려면 어떻게해야합니까?] (http://stackoverflow.com/questions/332422/how-do-i-get-the-name-of-an-objects- type-in-javascript) – Annihlator

답변

0

클래스 기반 언어 상속으로 JavaScript의 위임 동작을 사용하려고하지만 다른 점이 있습니다. 자바 스크립트에서는 객체와 프로토 타입을 고려해야하며, 상속 대신 원하는 것을 얻기 위해 위임이 어떻게 작동 할 수 있는지 이해해야합니다.

You Don't Know JS: this & Object Prototypes 책의 프로토 타입 및 위임 시스템에 대한 자세한 내용은 Prototypes 장을 참조하십시오.

관련 문제