FrontEnd/JavaScript

[JavaScript] Boolean 활용하기

BlogErin 2022. 1. 18. 18:00

 

 

용어 설명

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