상세 컨텐츠

본문 제목

JavaScript - undefined, null, NaN 값의 비교

개발/JavaScript

by 뉴에이스 2018. 10. 25. 17:14

본문

소스
"use strict";

// undefined
var msg1;
if (msg1 == undefined) console.log("변수는 존재하지만 값이 없는 상태이다.");

var msg2 = 20;
msg2 = undefined; // 값이 존재하는 변수를 undefined로 변경 가능, type이 없어짐
// undefined에 "undefined" 하지 않도록 주의
msg2 = undefined && console.log("undefined는 직접 비교가 가능하다.");

if (msg2) console.log("undefined를 이용한 false의 활용은 많이 사용됨");

// null
var msg3 = null; // 특정 객체가 가리키는 주소가 없음을 지정할 때 사용
if (msg3 == null) console.log("msg3는 null 이다.");

// NaN : Not a Number
var msg4 = 10 - "abc";
console.log("msg4", msg4, typeof msg4);

msg4 = NaN; // NaN 값을 직접 대입해서 만들 수 있음

// NaN의 경우 직접 비교가 불가능
if (msg4 == NaN) console.log("msg4 == NaN", "msg4는 NaN이다.");

// NaN인지 비교하기 위해서 내장함수인 isNaN을 이용한다.
if (isNaN(msg4)) console.log("isNaN(msg4)", "msg4는 NaN이다.");
결과
변수는 존재하지만 값이 없는 상태이다.
msg3는 null 이다.
msg4 NaN number
isNaN(msg4) msg4는 NaN이다.

관련글 더보기

댓글 영역