Skip to content

JavaScript 데이터 타입 검증

JavaScript에서는 다양한 방법으로 대상 값에 대한 데이터 타입을 확인할 수 있다.

동치 비교 (==, ===)

먼저 아래와 같이 일반적인 동치 비교를 사용하면 특정 값(좌측)이 주어진 조건값(우측)과 일치하는지 확인할 수 있다.

javascript
const temp = 1;

console.log(temp == 1); // return true
console.log(temp == '1'); // return true

다만 위와 같이 == 기호로 값을 비교하게 되면 값은 일치하더라도 데이터형이 다를 때도 같은 값으로 판단하게 되여 결론적으로 느슨한 비교를 하게 된다.

이럴 때는 삼중 등호(===)를 사용하여 데이터형에 대해서도 엄격한 비교를 할 수 있다.

javascript
const temp = 1;

console.log(temp === 1); // return true
console.log(temp === '1'); // return false

위 식에서는 tempnumber형 변수이고, 값이 1일 때만 true를 리턴한다.

typeof 연산자

typeof 연산자는 특정 변수의 데이터형을 리턴한다. 다만 연산자이므로 함수 실행식이 아닌 피연산자 앞에 위치해야 한다.

javascript
const temp = 1;

console.log(typeof temp); // return 'number'
console.log(typeof temp === 'number'); // return true

리턴값은 string으로 표현되며 값은 주로 number, string, function, boolean, object 등이 있다.

instanceof 연산자

instanceof는 위의 typeof와 유사하지만 특정 객체가 어떤 클래스에 속하는지 확인하기 위해 사용하는 연산자이다. 마찬가지로 피연산자(클래스) 앞에 위치한다.

javascript
const company = new Company();

console.log(company instanceof Company); // return true
console.log([1, 2, 3, 4, 5] instanceof Array); // return true

주의할 점은 피연산자 값은 constructor가 되어야 한다. 전역 객체도 사용할 수 있다.