Truthy, Falsy 할당

장돌뱅이 ·2022년 1월 2일
0

JavaScript

목록 보기
8/46
let myVariable = 'I Exist!';
 
if (myVariable) {
   console.log(myVariable)
} else {
   console.log('The variable does not exist.')
}; //콘솔에서 I Exist! 출력

변수가 값을 할당받았는지 여부를 확인할 수 있다.
위 코드에서 if 문은 myVariable이 true 값을 가지기 때문에 실행된다. myVariable의 값이 명시적으로 true가 아니더라도 불리언 또는 조건부 컨텍스트에서 사용될 경우 non-falsy 값이 할당되었기 때문에 true로 평가된다.

그렇다면 어떤 값이 false로 평가될까?

  • 0
  • 비어있는 문자열. like "" 혹은 ''
  • null (값이 존재하지 않을 때)
  • undefined (선언된 변수에 값이 없는 경우)
  • NaN 혹은 숫자가 아닐 때(문자를 숫자로 나눈다거나 등)
let numberOfApples = 0;
 
if (numberOfApples){
   console.log('Let us eat apples!');
} else {
   console.log('No apples left!');
}
 
// Prints 'No apples left!'

위 코드의 경우 값이 0으로 할당되었기 때문에 false로 평가된다.

let username = '';
let defaultName = username || 'Stranger';
 
console.log(defaultName); // Prints: Stranger

위 코드의 경우 ||연산자는 왼쪽 조건을 먼저 확인하기 때문에
만약 username이 true 값(non-falsy)이면 할당된 값을 출력할 것이고, 그게아니라 false 값이면 'stranger'를 출력할 것이다.

let username = '';
let defaultName;
 
if (username) {
  defaultName = username;
} else {
  defaultName = 'Stranger';
}
 
console.log(defaultName); // Prints: Stranger

단축하여 표현하지 않을 경우 위 코드와 같다.

0개의 댓글

관련 채용 정보