>  기사  >  웹 프론트엔드  >  javascript_기본지식의 typeof와 instanceof 소개

javascript_기본지식의 typeof와 instanceof 소개

WBOY
WBOY원래의
2016-05-16 17:47:17947검색

typeof는 주어진 변수의 데이터 유형을 감지하는 데 사용됩니다(기본 유형, 기본 데이터 유형이라고도 함. 정의되지 않음, 부울, 문자열, 숫자, 객체, 함수 포함)
var message = "so easy";
alert(메시지 유형); //"문자열"
alert(유형 12); //"숫자"

다음과 같이 기억할 수 있습니다: typeof는 new로 생성되지 않은 "변수"를 판단하는 데 사용됩니다.

instanceof는 객체의 유형을 감지하는 데 사용됩니다(참조 유형이라고도 합니다. 여기에는 Object, Array, Date, RegExp, Function 및 기본 패키징 유형(Boolean, Number, String 포함)이 포함됩니다)
var numberObject = new Number(10 );
var numberValue = 10;
alert(typeof numberObject); //"object"
alert(typeof numberValue); //"number"
alert(numberObject instanceof Number); // true
alert(numberValue instanceof Number); //false
numberValue는 숫자의 기본 데이터 유형이며 어떤 참조 유형에도 속하지 않습니다.
NumberObject는 객체의 기본 데이터 유형이며 Number 참조 유형에 속합니다(모든 참조 유형은 Object 참조 유형에서 상속됨).

다음과 같이 기억할 수 있습니다. instanceof는 new로 생성된 "객체"를 감지합니다. new를 통해 생성되지 않은 "변수"는 어떤 참조 유형에도 속하지 않습니다. new로 생성된 "객체"를 감지하기 위해 typeof를 사용하면 항상 "객체 참조 유형"이 반환됩니다.

isPrototypeOf() 메서드는 프로토타입과 인스턴스 간의 관계를 감지하는 데 사용됩니다. instanceof도 감지할 수 있습니다. 프로토타입이 프로토타입 체인에 나타나는 한, 프로토타입 체인에서 파생된 인스턴스의 프로토타입이라고 할 수 있습니다.
var person = new Person(); //Person 상속 및 Object
alert(Person.prototype.isPrototypeOf(person)); //true
alert(Object.prototype.isPrototypeOf(person)); //참

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