Nullish values in JavaScript are null and undefined. These values fall under falsy values but are more specifically referred to as null values. All nullish values are falsy, but not all falsy values (for example, 0) are nullish.
JS에서는 null과 undefined가 nullish한 값이다.
모든 nullish한 값들은 falsy하지만, 모든 falsy한 값들이 nulllish한 것은 아니다!
So, the nullish operator is related to null and undefined values while other logical operators are related to truthy and falsy values in general.
일반적으로 null 병합 연산자는 null, undefined 값과 연관돼 있고,
다른 연산자들은 truthy하거나 falsy한 값과 관련이 있다.
자바스크립트에서 nullish 값은 null과 undefined 두 가지.
이 값들은 자바스크립트에서 "존재하지 않음" 또는 "정의되지 않음"을 나타내며,
종종 null 병합 연산자 (??)와 함께 사용된다.
🖥️javascript
let value = null;
console.log(value ?? "기본값"); // "기본값" 출력
value = undefined;
console.log(value ?? "기본값"); // "기본값" 출력
value = 0;
console.log(value ?? "기본값"); // 0 출력, 0은 nullish 값이 아님
?? 연산자는 value가 null 또는 undefined일 때만 오른쪽 값을 반환하고,
0, false, '' 등 다른 falsy 값은 그대로 반환한다.
https://ko.javascript.info/nullish-coalescing-operator
자바스크립트에서 null과 undefined는 둘 다 값이 없음을 나타내지만, 의미와 용도에서 차이가 있다.
🖥️ javascript
let a;
console.log(a); // undefined
function test() {}
console.log(test()); // undefined
const obj = {};
console.log(obj.someProperty); // undefined
🖥️ javascript
let b = null;
console.log(b); // null

자바스크립트에서 falsy 값은 논리적으로 false로 평가되는 값들을 의미한다.
이 값들은 모두 조건문에서 false로 평가되므로,
if문에서 직접 사용하거나 논리 연산자와 함께 사용할 때 주의가 필요하다.
🖥️ javascript
if (!0) {
console.log("0은 falsy 값입니다."); // 출력됨
}
if (!"") {
console.log("빈 문자열은 falsy 값입니다."); // 출력됨
}
if (!null) {
console.log("null은 falsy 값입니다."); // 출력됨
}