-
동적 타이핑, 타입 체크컴퓨터/JavaScript_typescript 2020. 1. 19. 17:31
* 동적 타이핑(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를 반환한다.
'컴퓨터 > JavaScript_typescript' 카테고리의 다른 글
[javascript] Objects.keys(array), Object.getOwnPropertyNames(array), Object.entries(array) (0) 2020.02.06 JSON - parsing error (0) 2020.01.21 throw Error (0) 2020.01.19 Template, Tagged Template literals, 함수이름`HTML내용` (0) 2020.01.19 [javascript] recursion, element.matches(selectorString), ~.함수이름 == -1이면 쓸 수 없는 함수인 것 (0) 2020.01.13