본문으로 건너뛰기

switch-case, ?, truthy/falsy

switch-case, ?, truthy/falsy

if 조건문 없이 조건을 처리하는 switch-case문과 삼항 연산자,

그리고 참/거짓 취급을 결정하는 truthy/falsy의 개념에 대해 알아보겠습니다.


switch-case문

switch-case문은 특정 값을 여러 값과 비교할 때 사용됩니다.

switch-case문 구조
switch (표현식) {
case1:
// 값1과 일치할 때 실행될 코드
break;
case2:
// 값2와 일치할 때 실행될 코드
break;
// ... (더 많은 case가 있을 수 있음)
default:
// 어떤 case와도 일치하지 않을 때 실행될 코드
}

break와 default

break는 switch-case문에서 해당 조건이 만족되면 그 이후의 조건을 검사하지 않고 빠져나오는도록 합니다.

만약 break를 생략하면, 해당 조건이 만족되어도 계속해서 다음 조건들을 검사하게 됩니다.

default는 주어진 표현식이 어떤 case와도 일치하지 않을 때 실행될 코드를 작성하는 곳입니다.


switch-case문 예제
const fruit = '사과';

switch (fruit) {
case '바나나':
console.log('바나나입니다');
break;
case '사과':
console.log('사과입니다');
break;
case '포도':
console.log('포도입니다');
break;
default:
console.log('알 수 없는 과일입니다');
}
// 출력: 사과입니다

삼항 연산자를 이용한 조건문

삼항 연산자를 사용하면 간단한 if-else 구조를 더 짧게 표현할 수 있습니다.

삼항 연산자 구조
조건식 ? 참일 때의 값 : 거짓일 때의 값

삼항 연산자 예제
let age = 19;
let result = age >= 20 ? '성인' : '청소년';

console.log(result); // 출력: 청소년

truthy와 falsy

자바스크립트에서 모든 값은 truthy 또는 falsy로 분류됩니다.

falsy는 false로 취급되는 값들을 의미하며, truthy는 true로 취급되는 값들을 의미합니다.

이는 불리언(Boolean, 참/거짓을 나타내는 자료형)에서 해당 값이 참(true), 거짓(false) 취급 여부를 결정하고, 조건문에서 해당 값이 참일 때 실행될 코드를 결정하는 데 사용됩니다.


아래는 falsy 값들의 예시입니다.

  • false
  • 0
  • " (빈 문자열)
  • null
  • undefined
  • NaN

이 외의 모든 값들은 truthy입니다.

truthy와 falsy 예제
let value = 0;

if (value) {
console.log('참입니다');
} else {
console.log('거짓입니다');
}

// 출력: 거짓입니다