WEB/Java Script

[Java Script] Truthy and Falsy/ 확인하는 방법

자바칩 프라푸치노 2021. 4. 23. 21:21

 

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

const person = {
  name : 'John'
};

print(person);

if문에 있는 것은 null 과 undefined일 때 조건을 적용해주는 것이다. 에러가 나지 않게

그런데 매번 이렇게 할 수 없다. 있긴한데 더 좋은 방법이 있음

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

const person = {
  name : 'John'
};

print(person);

바로 !person이라고 쓰면 위의 값과 똑같다 왜냐??


falsy 한 값

console.log(!undefined);
console.log(!null);
console.log(!0);
console.log(!'');
console.log(!NaN);

이것들이 falsy한 값이라서 false라고 간주한다.

그러니까 !false는 true이 된다.

이것들을 제외한 값들은 전부 truthy 한 값이다


어떤 것이 truthy인지 falsy인지 알고 싶으면

!!이라고 적으면 된다.

 

const value = {};

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

객체는 truthy이므로 true가 나왔다.

728x90