Custom type => `instancof`
Primitive type => `typeof`
typeof
num1, num2의 타입이 다르게 출력된다.
num2를 생성자 new를 통해 생성했기 때문이다.
const actionTypes = ['play','connect', 'disconnect', 'cancel'];
const userId = undefined;
console.log(typeof actionTypes); //object
console.log(typeof userId); // undefined
console.log(typeof undefined); // undefined
console.log(typeof null); // object
constructor
인스턴스의 '프로토타입'의 참조를 반환합니다.
이런 맹점(null, array 를 object 로 인식하는)을 극복하기 위한 Object's Property 'Constructor'가있다.
⚠️ 단, null과 undefined 는 constructor 사용이 불가능하다.
Object.Prototype.Constructor
Constructor의 용도
Data Type Check or 출신성분(생성자 함수명)이 무엇인가를 확인할 수 있는 프로퍼티이다.
const actionTypes = ['play','connect', 'disconnect', 'cancel'];
const uuid = '0.9238281021';
const num = 5;
function abc(){
return 0;
}
console.log(actionTypes.constructor); // Array
console.log(uuid.constructor); // String
console.log(num.constructor); // Number
console.log(abc.constructor); // Function
🔗 Reference
'Web > Javascript' 카테고리의 다른 글
DOM 문서 객체 모델 (0) | 2020.02.21 |
---|---|
[JavaScript] 배열 특정원소 삭제 (0) | 2020.01.26 |
Javascript Prototype (0) | 2020.01.24 |
JavaScript constructor, instanceof (0) | 2020.01.24 |
primitive vs object (0) | 2020.01.24 |