1. Nullish๋ณํฉ
(1) ์ ์
const num = A ?? B ?? C ...
// null ์ด๋ undefined๊ฐ ์๋ ๋งจ ์ฒ์ ๋ง๋ data๋ฅผ ๋ฐํ
// ๋ง์ฝ ์ฐ์ฐ์ ์์ ๋ชจ๋ ๊ฐ๋ค์ด null ์ด๋ undefined ๋ผ๋ฉด ๋งจ ๋ง์ง๋ง์ nullish ๊ฐ์ ๋ฐํ
// (null , undifined ํฉ์ณ์ nullish๋ผ๊ณ ํ๋ค.)
OR์ false๊ฐ ์๋ ๋งจ ์ฒ์ ๋ง๋ data๋ฅผ ๋ฐํ ํ๋ ์ฐ์ฐ์์๋ค.
Nullish ๋ณํฉ์ OR ๋ณด๋ค ๊ฑฐ๋ฅด๋ ๋ฒ์๊ฐ ์ ์ด์ง ์ฐ์ฐ์์ด๋ค.
(2) ์์๋ค
a. OR ๊ณผ Nullish์ ์ฐจ์ด
0์ false ๊ฐ์ด๊ณ , 7์ด ์ ์ผ ๋จผ์ ๋ง๋ 0์ด ์๋ ๊ฐ์์ผ๋ก 7์ ๋ฐํ
0์ ์ ์ผ ์ฒ์ ๋ง๋ nullish๊ฐ ์๋ ๊ฐ์์ผ๋ก 0์ ๋ฐํ
b. ๋ค์ํ ์ฐ์ฐ๋ค
2. ์ผํญ ์ฐ์ฐ์
(1) ์ ์
// ํํ
// ์กฐ๊ฑดA ? A๊ฐ ์ฐธ์ผ ๋ ์ํ๋๋ ์ฝ๋ : A๊ฐ ๊ฑฐ์ง์ผ ๋ ์ํ๋๋ ์ฝ๋
const a = 0;
a < 2 ? console.log('a๋ 2๋ณด๋ค ์์ต๋๋ค.') : console.log('a๋ 2๋ณด๋ค ํฝ๋๋ค.')
// ์ ์๊ฐ ์ถ๋ ฅ
(2) ์์
function getAlert(message) {
return message ? message : '๋ฉ์ธ์ง๊ฐ ์กด์ฌํ์ง ์์ต๋๋ค.'
}
console.log(getAlert('์๋
ํ์ธ์'))
console.log(getAlert(''))
/*
message์ ๋น ๋ฌธ์์ด์ด ๋ค์ด์ค๋ฉด ์ผํญ์ฐ์ฐ์์ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด ๋์ด ํ์๊ฐ ์ถ๋ ฅ
๋ญ๋ผ๋ ๋ค์ด์ค๋ฉด ์กฐ๊ฑด์ด ์ฐธ์ด ๋์ด ์ ์๊ฐ ์ถ๋ ฅ
*/
3. ์ค์ค๋ก ํด๋ณด๊ธฐ
console.log(0 ?? 7)
console.log(null ?? 7)
console.log(undefined ?? null ?? undefined)
let a = 3
a < 2 ? console.log('a is smaller than 2') : console.log('a is bigger than 2')
0