[JS] Nullish Coalescing Operator

Nullish Coalescing Operator๋Š” ?? ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž์ด๋‹ค. ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด์ž.

1
2
3
4
5
6
let a = null;
let b = "์•ŒํŒŒ๋ฒณ b";
let c = (a !== null && a !== undefined) ? a : b;

> c
์•ŒํŒŒ๋ฒณ b

์œ„ ๋ฌธ๋ฒ•์„ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฐ„๋‹จํ•˜๊ฒŒ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋‹ค.

1
2
3
4
5
6
let a = null;
let b = "์•ŒํŒŒ๋ฒณ b";
let c = a ?? b;

> z
์•ŒํŒŒ๋ฒณ b


๋˜ํ•œ, || ์—ฐ์‚ฐ์ž๋Š” 0, ๋นˆ ๊ฐ’๊ณผ ๊ฐ™์€ falsyํ•œ ๊ฐ’์ด๋ฉด ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ returnํ•œ๋‹ค. ์ด๊ฒƒ์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

1
2
3
let weight = 0;
> weight || '๋ฌด๊ฒŒ ์žˆ์Œ'
๋ฌด๊ฒŒ ์žˆ์Œ

๊ทธ๋ž˜์„œ undefined์™€ null์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ?? ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‹ค.

1
2
3
let weight = 0;
> weight ?? '๋ฌด๊ฒŒ ์žˆ์Œ'
0

Leave a comment