AR삽질러

JavaScript - Truthy와 Falsy (12) 본문

WEB/JavaScript

JavaScript - Truthy와 Falsy (12)

아랑팡팡 2024. 8. 15. 18:46
728x90

 

JavaScript - Truthy와 Falsy (12)

 

1. Truthy & Falsy란

 - JavaScript에서 값이 Boolean일때 어떻게 평가되는지 나타내며 참이나 거짓을 의미하지 않는 값이라도 조건문 내에서 참이나 거짓으로 평가하는 특징

 

2. Falsy한 값

- Falsy값은 불리언 문맥에서 false로 평가되는 값으로 if조건문이나 논리 연산에서 false처럼 동작한다.

false boolean "" 빈 문자열
0 숫자 0 null 값이 없음
-0 음수 undefined 정의되지 않음
0n Bigint 0 NaN Not-a-Number

 

// 1. Falsy한 값
let f1 = undefined;
let f2 = null;
let f3 = 0;
let f4 = -0;
let f5 = NaN;
let f6 = "";
let f7 = 0n;

if (!f1) {
  console.log("falsy");
}

if (!f2) {
  console.log("falsy");
}

if (!f3) {
  console.log("falsy");
}

if (!f4) {
  console.log("falsy");
}

if (!f5) {
  console.log("falsy");
}

if (!f6) {
  console.log("falsy");
}

if (!f7) {
  console.log("falsy");
}

 

 

3. Truthy

 - 7가지 Falsy한 값들을 제외한 나머지 모든 값

true boolean 객체 모든 객체(배열 포함)
number 0이 아닌 모든 숫자 함수 모든 함수
string 빈 문자열이 아닌 모든 문자열 Bigint 0n 이 아닌 모든 Bigint

 

let t1 = "hello";
let t2 = "123";
let t3 = [];
let t4 = {};
let t5 = () => {};

if (t5) {
  console.log("Truthy");
}

 

4. Falsy한 값을 활용해 기본값을 설정하고 사용자 입력이 없을 경우 기본값을 출력하는 코드

function getUserName(person) {
  if (!person) {
    console.log("person의 값이 없습니다.");
    return;
  }
  console.log(person.name);
}

let person = { name: "AR" };
getUserName(person);
getUserName("");
getUserName();

 

getUserName(person)

 - person이 Falsy인지 확인한다.

 - person값이 undefined, null, 빈문자열, "", 0, NaN, false 같은 Falsy한 값이라면 설정된 값을 출력하고 함수를 종료한다.

 

 

 

 

 

 

 

728x90
반응형
LIST