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