Javascript/기초

Truthy and Falsy (feat. null checking) --> falsy한 값을 잘 기억해야합니다.

appmaster 2021. 2. 1. 15:04

true같은것과 false같은것을 말하는 겁니다.

 

 

이 개념을하기전에는 일단 null인지 아닌지 체크하는방법을 알려드리겠습니다.

 

1. undefined || null 로 확인

function print(person){
    if(person === undefined || person === null){
        return;
    }
    console.log(person.name);
}

const person = null;

print(person);

이것은 코드를 이해하기 쉬운방법이지만, 함수에 들어갈때마다 이러한 조건문으로 확인하는것은 비효율적입니다.

 

 

2. 조건문에 !를 넣는 방법

function print(person){
    if(!person){
        return;
    }
    console.log(person.name);
}

const person = null;

print(person);

다음과같이하면 한번에 체크하기가 편하게 된답니다.

const value = {};

const truthy = !!value;
console.log(truthy);

느낌표 없이 value만 하면 true, false값이 아닌 "{ }" 중괄호 값이 그대로 출력이됩니다. 그래서 true값인지 false값인지 확인차에 출력하게 하고싶으면, 느낌표를 두번쓰는데요, 한번만쓰면 그 반대값이 나오기 때문입니다.

 

 

3. Falsy한 값에 대해

console.log(!undefined);
console.log(!null);
console.log(!0);
console.log(!'');
console.log(!NaN);
console.log(!false);
//출력값
true
true
true
true
true

다음값은 Falsy한 값을 가지고 있기때문에 부정문을 넣으면 true값이 나옵니다.

 

 

 

4. Truthy한 값에 대해

console.log(!3);
console.log(!'hello');
console.log(!['array']);
console.log(![]);
console.log(!{});
//출력값
false
false
false
false
false

falsy한 값에 반대값이 전부다 Truthy입니다.