[S1U2] JavaScript typeof

개발일지·2022년 6월 24일
0
post-thumbnail

typeof

설명

typeof는 피연산자의 자료형을 판별하여 문자열을 반환하는 단항 연산자(operator)입니다.
자료형에 따라 처리 방식을 다르게 하고 싶거나 변수의 자료형을 빠르게 알아내고자 할 때 유용합니다.

typeof 연산자는 피연산자 앞에 위치하며 두 가지 형태의 문법을 지원합니다.

typeof operand // 연산자
typeof(operand) // 함수

괄호 유무와 상관없이 결과는 동일합니다.

예제

// Undefined, expected output: "undefined"
console.log(typeof undefined);
console.log(typeof undeclaredVariable);


// Null, expected output: "object"
console.log(typeof null); // 언어 자체의 오류


// Boolean, expected output: "boolean"
console.log(typeof true);
console.log(typeof false);


// Number, expected output: "number"
console.log(typeof 37);
console.log(typeof 3.14);
console.log(typeof Math.LN2);
console.log(typeof Infinity);
console.log(typeof NaN); // Despite being "Not-A-Number"

// BigInt, expected output: "bigint"
console.log(typeof 42n);


// String, expected output: "string"
console.log(typeof "");
console.log(typeof "bla");
console.log(typeof (typeof 1)); // typeof always returns a string


// Symbol (ECMAScript 2015에서 추가), expected output: "symbol"
console.log(typeof Symbol());
console.log(typeof Symbol('foo'));
console.log(typeof Symbol.iterator);


// Functions (ECMA-262 표현으로는 [[Call]]을 구현하는 객체), expected output: "function"
console.log(typeof function(){});
console.log(typeof class C {});
console.log(typeof Math.sin);
console.log(typeof alert);


// Object, expected output: "object"
console.log(typeof {a:1});
console.log(typeof Math); // 내장 객체는 객체형

// use Array.isArray or Object.prototype.toString.call
// to differentiate regular objects from arrays
console.log(typeof [1, 2, 4]);

console.log(typeof new Date());

참고 자료

profile
Frontend Engineer

0개의 댓글