less than 1 minute read

Truth and Falsy

  • Truthy는 true, Falsy는 false같은 것!

상황을 가정해보자!

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

const person2={
    name:null
};

print();//원래는 null checking이 없었다면 undefined(객체가 없음)
print(person2);//원래는 null checking이 없었다면 null(값이 없음)

원래 print()나 print(son)과 같은 경우는 undefined, null 의 결과를 맺는데

if(person===undefined || person===null){ return; }

와 같은 null checking을 통해서 에러를 피할 수가 있다

⚠️하지만 조금 너저분하다!

이를 깔끔하게 해주기 위해서

  • undefined, null, 0, ‘ ‘ , NaN, false가 falsy한 값이다! 그 외에는 truthy한 값!

라는 점을 이용해보자!

그렇다면 위에서 언급되었던

if(person===undefined || person===null){ return; }

if(!person){ return; }

와 같다!

그렇게 된다면, truthy한 값에 대한 처리는 아래와 같이 사용해볼 수 있을 것이다!

const value={a:1};
if(value){
    console.log('값이 truthy 하네요!');
}

만약, truthy한 값을 true, falsy한 값을 false로 바꾸고 싶다면

!!변수명

을 이용하면 변경이 가능하다!

const val=[];
const tr =null;
const truthy = !!val;
console.log(truthy);//true
console.log(!!tr);//false;

Updated: