컴퓨터/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를 반환한다.

반응형