용어 설명
undefined와 null
null은 비어있는 값이고, undefined는 변수에 아무것도 할당되지 않았을 때의 값이다
자바스크립트에서는 변수의 선언과 초기화를 동시에 하지 않아도 되기 때문에, 선언만 된 변수는 undefined라는 값을 갖게 된다
let n = null;
let u;
console.log(n);
console.log(u);
null
undefined
NaN (Not a Number)
NaN은 'Not a Number'의 약자이며, 숫자가 아닌 것을 숫자로 표현하려 할 때 반환된다
let n = parseInt('abcd');
console.log(n);
NaN
false와 true로 간주되는 것들
자바스크립트 if문이나 while문의 조건 부분에는 Boolean이 아닌 다른 자료형의 결과값이 있어도 작동한다
숫자
if (0) {
console.log('0은 true');
} else {
console.log('0은 false');
}
if (1) {
console.log('양수는 true');
} else {
console.log('양수는 false');
}
if (-1) {
console.log('음수는 true');
} else {
console.log('음수는 false');
}
0은 false
양수는 true
음수는 true
문자열
if ('') {
console.log('비어있는 문자열은 true');
} else {
console.log('비어있는 문자열은 false');
}
if ('abc') {
console.log('안 비어있는 문자열은 true');
} else {
console.log('안 비어있는 문자열은 false');
}
비어있는 문자열은 false
안 비어있는 문자열은 true
null, undefined, NaN
if (null) {
console.log('null은 true');
} else {
console.log('null은 false');
}
if (undefined) {
console.log('undefined는 true');
} else {
console.log('undefined는 false');
}
if (NaN) {
console.log('NaN은 true');
} else {
console.log('NaN은 false');
}
null은 false
undefined는 false
NaN은 false
활용하기
위의 것을 활용하여, 변수 str이 빈 문자열인지 이렇게 확인할 수 있다
if (str) {
console.log('str은 빈 문자열이 아닙니다.');
} else {
console.log('str은 빈 문자열입니다.');
}
다른 자료형을 Boolean으로 변형하는 법
비어 있는 문자열은 Boolean으로 false다. 따라서 아래 코드에서 !str은 true, !!str은 false가 된다
let str = '';
console.log(str);
console.log(!str);
console.log(!!str);
false
true
false
'FrontEnd > JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트 다양한 이벤트(Event) 정리 (1) | 2022.02.02 |
---|---|
[JavaScript] 다양한 자바스크립트 스타일 가이드 (0) | 2022.01.18 |
[JavaScript] 자바스크립트 Date 정리 (0) | 2022.01.11 |