null vs undefined

지니씨·2024년 9월 5일
0

프론트엔드

목록 보기
83/85

undefined vs null

  • undefined: 무엇인가가 초기화 되지 않았음
  • null: 무엇인가를 초기화 후 의도적으로 null값을 할당

JS에서 falsy한 값

  • null 명시적으로 정의된 비어있는 값.
  • undefined 변수나 객체의 속성이 정의되지 않았을 때.
  • 0 숫자 0. (ID로서 일반적으로 사용되지 않지만, 타입에 따라 입력될 수 있음)
  • NaN 숫자가 아닌 값. (ID가 숫자로 되어 있을 경우)
  • '' (빈 문자열) 아무 문자도 포함하지 않는 문자열.
  • false Boolean 타입의 거짓 값.
  • ! (논리 부정 연산자) 값 부정
console.log(!true);      // false
console.log(!false);     // true
console.log(!0);         // true (0은 falsy 값)
console.log(!1);         // false (1은 truthy 값)
console.log(!'');        // true (빈 문자열은 falsy 값)
console.log(!'hello');   // false (문자열은 truthy 값)
console.log(!null);      // true
console.log(!undefined); // true
console.log(!NaN);       // true
  • !! (이중 논리 부정 연산자): 값을 불리언으로 변환
console.log(!!true);      // true
console.log(!!false);     // false
console.log(!!0);         // false (0은 falsy 값)
console.log(!!1);         // true (1은 truthy 값)
console.log(!!'');        // flase (빈 문자열은 falsy 값)
console.log(!!'hello');   // true (문자열은 truthy 값)
console.log(!!null);      // true
console.log(!!undefined); // true
console.log(!!NaN);       // true
  • 삼항 연산자 (? :) : falsy한 값 까지 모두 체크
  • 널 병합 연산자 (??): undefinednull만 대체하고, 0, false, "" 같은 값은 그대로 사용, 0이나 빈 문자열 같은 값도 유효하게 사용하고 싶을 때 사용
0 ? console.log('true') : console.log('false'); // false
0 ?? console.log('test'); // 0

TypeScript

profile
하루 모아 평생 🧚🏻

0개의 댓글