컴퓨터/JavaScript_typescript
동적 타이핑, 타입 체크
수제녹차
2020. 1. 19. 17:31
728x90
반응형
* 동적 타이핑(Dynamic Typing)
변수나 반환값의 타입을 사전에 지정하지 않는 자바스크립트의 동적 타이핑
타입 체크가 필요하다 ex. sum을 할 때 문자열을 넣는 경우
1) typeof : 피연산자의 데이터 타입을 문자열로 반환한다.
그러나 null과 배열의 경우 object로 반환한다.
2) Object.prototype.toString : 객체를 나타내는 문자열을 반환한다.
var obj = new Object();
obj.toString(); // [object object]
Function.prototype.call 메소드를 사용하면 어떤 타입의 값이든 타입을 알아낼 수 있다.
Object.prototype.toString.call(NaN); // [object Number]
Object.prototype.toString.call(null) // [object null]
Object.prototype.toString.call([] // [object Array]
3) instanceof
function Person() {};
const person = new Person();
console.log(person instanceof Person); // true
A instanceof B : A가 B 타입의 인스턴스인지 여부를 알려준다.
이때 타입이란 constructor를 말하며 프로토타입 체인에 존재하는 모든 constructor를 검색하여 일치하는 constructor가 있다면 true를 반환한다.
반응형