티스토리 뷰
자바스크립트에서 타입 검사 방법에는 대표적으로 두 가지가 있다.
1. typeof : 해당 변수나 값이 어떤 자료형인지 문자열로 반환한다.
2. instanceof : 생성자의 prototype 속성이 해당 객체의 프로토타입 체인 어딘가 존재하는지 판별한다.
typeof
반환할 수 있는 값
Type | Result |
Undefined | "undefined" |
Null | "object" |
Boolean | "boolean" |
Number | "number" |
Bigint | "bigint" |
String | "string" |
Symbol | "symbol" |
호스트 객체 | 구현체마다 다름 |
Function 객체 | "function" |
다른 모든 객체 | "object" |
콘솔에 직접 출력해보자.
console.log("typeof 'Hello' : ", typeof 'Hello');
console.log("typeof 123 : ", typeof 123);
console.log("typeof A : ", typeof "A");
instanceof
먼저,
const arr = []; // 배열
const func = function() {}; // 함수
const date = new Date(); // 날짜
배열, 함수, 날짜 각 객체를 만든 후 각각 확인해보자.
console.log("arr instanceof Array : ", arr instanceof Array);
console.log("func instanceof Function : ", func instanceof Function);
console.log("date instanceof Date : ", date instanceof Date);
Array, Function, Date 전부 Object의 인스턴스에 해당된다. 그렇다면 각 객체를 instanceof로 확인했을 때
console.log("arr instanceof Object : ", arr instanceof Object);
console.log("func instanceof Object : ", func instanceof Object);
console.log("date instanceof Object : ", date instanceof Object);
Object라는 것을 확인 할 수 있다.
추가 : 객체 클래스 확인하기
toString으로 해당 객체의 클래스까지 확인할 수 있다.
console.log("Object.prototype.toString.call(arr) : ", Object.prototype.toString.call(arr));
console.log("Object.prototype.toString.call(func) : " + Object.prototype.toString.call(func));
console.log("Object.prototype.toString.call(date) : ", Object.prototype.toString.call(date));
반응형
LIST
'공부합시다 > Javascript' 카테고리의 다른 글
[Javascript] esbuild + browserify 사용하기 (0) | 2022.05.13 |
---|---|
[Node.js] 서버 만들기 (0) | 2022.04.16 |
아스키코드를 문자열로 바꾸기(TextDecoder) (0) | 2021.12.31 |
[영상처리] 흑백처리 함수 만들기 (0) | 2021.04.01 |
[클론코딩] 그림판 만들기 (0) | 2021.03.23 |
댓글