⭐️⭐️⭐️⭐️⭐️
false, 0, ""('',``), null, undefined는 boolean값이 false이다
이 외에는 truthy value이다.
ex. [ ]는 truthy.
null(의도적으로/명백히 값 없음), undefined(암묵적으로 값 없음)
이게 내가 놓쳤던 에러 원인이다. 함수에 넣어준 변수가 null 이었다!
|| 는 참, 거짓을 판단하여 거짓일 때에 뒤에 오는 값을 넣어준다.
console.log(''||'빈 문자열은 falsy')
// 빈 문자열은 falsy
하지만 ?? 은 정의된 값이 없을 때만, 즉 null, undefined일 때만
뒤에 오는 값을 넣어준다.
console.log(''??'참/거짓 판단한게 아니에요')
//
console.log(null??'값이 없을때만 반환해요')
// 값이 없을때만 반환해요
그래서 falsy한 빈 문자열을 넣어줘도 정의된 것이라 그대로 출력된다.