๐Ÿ› null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž(??)์™€ ์˜ต์…”๋„ ์ฒด์ด๋‹(?.)

์ •์€๊ฒฝยท2020๋…„ 10์›” 22์ผ
0

๐Ÿ‘ธ Front-End Queen

๋ชฉ๋ก ๋ณด๊ธฐ
97/266

JavaScript์˜ falsy์™€ truthy

https://velog.io/@muchogusto/JavaScript%EC%9D%98-falsy

No.Falsy ์ธ๊ฒƒTruthy์ธ ๊ฒƒ
1undefined
2null๋ฐฐ์—ด, ๋นˆ ๋ฐฐ์—ด[], ๊ฐ์ฒด, ๋นˆ ๊ฐ์ฒด{}
3์ˆซ์ž 00์ด ์•„๋‹Œ ์–‘์ˆ˜/์Œ์ˆ˜ ๋ชจ๋‘!
4๋นˆ ๋ฌธ์ž์—ด ''๋ฌธ์ž์—ด
5NaN
6falsetruth

??(null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž)๋Š” defined๋œ ๊ฐ’์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค

  • null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž๋Š” null ์ด๊ฑฐ๋‚˜ undefined์ธ ๊ฒฝ์šฐ๋Š” ์ถœ๋ ฅํ•˜์ง€ ์•Š์•„์š”
  • ์ฆ‰, defined ๋œ ๊ฐ’์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

API call์„ ํ•ด์„œ candy์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ›์•„์˜จ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž

๋ฐฉ๋ฒ•1. falsy/truthy๋ฅผ ์ด์šฉํ•˜๋ฉด

candy = ''
candy ? console.log(`a(${candy})๋Š” ์ฐธ์ž…๋‹ˆ๋‹ค.`) : console.log(`a(${candy})๋Š” ๊ฑฐ์ง“์ž…๋‹ˆ๋‹ค.`);
  • 0์ธ ๊ฐ’์€ ๊ฑฐ์ง“์œผ๋กœ ๋œ๋‹ค(falsyํ•˜๋‹ค)
  • ํ•˜์ง€๋งŒ ์ˆซ์ž 0๋„ ๋ฐ์ดํ„ฐ๋ผ๊ตฌ! 0์„ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ๋‹ค๊ตฌ์šฐ์šฐ์šฐ!
  • candy๊ฐ€ 0๊ฐœ ์ธ ๊ฒฝ์šฐ๋„ ๋‚˜ํƒ€๋‚ด์•ผํ•œ๋‹ค๊ตฌ์šฐ์šฐ์šฐ!

๋ฐฉ๋ฒ•2. null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด

candy ?? waiting
  • candy๊ฐ€ null๋„ ์•„๋‹ˆ๊ณ  undefined๋„ ์•„๋‹ˆ๋ฉด candy ์ถœ๋ ฅ
  • ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ๋Š” waiting ์ถœ๋ ฅ
  • candy๊ฐ€ ์ถœ๋ ฅ๋˜์ง€ ์•Š๋Š” ์กฐ๊ฑด์— "null, undefined" ๊ฒฝ์šฐ๊ฐ€ ์žˆ์œผ๋‹ˆ๊น!
  • candy๊ฐ€ 0์ธ ๊ฒฝ์šฐ์—๋„ ์ถœ๋ ฅ๋œ๋‹ค์•„์•„์•„!

๊ฒฐ๋ก 

candy๊ฐ€ 0๊ฐœ์ธ ๊ฒƒ๋‘ ๋ฐ์ดํ„ฐ๋ผ๊ตฌ!
0๊ฐœ์ธ candy๋ฅผ ๋‚˜ํƒ€๋‚ด๊ณ  ์‹ถ๋‹ค๋ฉด!
"๋ฐฉ๋ฒ•2. null ๋ณ‘ํ•ฉ ์—ฐ์‚ฐ์ž"๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”!



api ์ฝœ์„ ํ•ด์„œ ๊ฐ’์„ ๋ฐ›์•„์˜ค๊ณ  ๋ฐ›์•„์˜จ ๊ฐ’์„ ์ฒดํฌํ•  ๋•Œ
๋ฐ›์•„์˜จ ๊ฐ’์ด null ๋˜๋Š” undefined์ธ์ง€๋ฅผ ์ฒดํฌํ•˜๊ณ ,
!null && !undefined์ผ๋•Œ ๋ Œ๋”๋งํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Œ!
์ด๋•Œ๋Š” JavaScript์˜ falsy๋ฅผ ์ด์šฉํ•˜๋Š ๊ฒƒ๋ณด๋‹ค๋Š”!
null ๋ณ‘ํ•ฉ์—ฐ์‚ฐ์ž ??๋ฅผ ์“ฐ๋Š” ๊ฒƒ์ด ๋” ์ข‹์•„ ๋ณด์ธ๋‹น๐Ÿ˜‰

์ฃผ์˜

๋น„๊ต์  ์‹ ๊ทœ ๋ฌธ๋ฒ•์ด๋ผ ๊ตฌ์‹ ๋ธŒ๋ผ์šฐ์ €์—์„œ๋Š” ํด๋ฆฌํ•„์ด ํ•„์š”

์˜ต์…”๋„ ์ฒด์ด๋‹ '?.'

  • ?.์€ ?.'์•žโ€™์˜ ํ‰๊ฐ€ ๋Œ€์ƒ์ด undefined๋‚˜ null์ด๋ฉด ํ‰๊ฐ€๋ฅผ ๋ฉˆ์ถ”๊ณ  undefined๋ฅผ ๋ฐ˜ํ™˜

Reference

profile
#์˜์‹์˜ํ๋ฆ„ #์ˆœ๊ฐ„์ˆœ๊ฐ„ #์ƒ๊ฐ์˜์Šค๋ƒ…์ƒท

0๊ฐœ์˜ ๋Œ“๊ธ€