๐Ÿ”ฅ Optional Chaining, '?.' ์—ฐ์‚ฐ์ž

Jake_Youngยท2021๋…„ 3์›” 18์ผ
0

์ด ๊ธ€์€ MDN์˜ Optional chaining์„ ์ฐธ๊ณ ํ•˜์˜€์Œ์„ ๋ฏธ๋ฆฌ ๋ฐํž™๋‹ˆ๋‹ค.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Operators/Optional_chaining

๐ŸŒธ Optional Chaining ์ด๋ž€?

  • ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ๋ณธ ์ ์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.
if (cityList?.area?.town){
  // blah blah~
}
  • ๊ณผ๊ฑฐ์—๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ผ๋˜ ์ฝ”๋“œ๋ฅผ ์ด์ œ๋Š” ์œ„์™€ ๊ฐ™์ด ์“ธ ์ˆ˜ ์žˆ๋‹ค.
if (cityList && cityList.area && cityList.area.town){
  // blah blah~ 
}
  • ?. ์—ฐ์‚ฐ์ž๋Š” ์ฒด์ธ์˜ ๊ฐ ์ฐธ์กฐ๊ฐ€ ์œ ํšจํ•œ์ง€ ๋ช…์‹œ์ ์œผ๋กœ ๊ฒ€์ฆํ•˜์ง€ ์•Š๊ณ ,
  • ์—ฐ๊ฒฐ๋œ ๊ฐ์ฒด ์ฒด์ธ ๋‚ด์— ๊นŠ์ˆ™์ด ์œ„์น˜ํ•œ ์†์„ฑ ๊ฐ’์„ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๋งŒ์•ฝ ์ฐธ์กฐ๊ฐ€ null๋‚˜ undefined์ด๋ฉด, undefined๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๐ŸŒท ์ฃผ์˜ํ•  ์ 

  • ์œ„ ์‚ฌ์ง„์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ IE์—์„œ๋Š” ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ๋˜ํ•œ Node14 ๋ณด๋‹ค ๋‚ฎ์€ ๋ฒ„์ „์„ ์“ธ ๊ฒฝ์šฐ์—๋„ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅ ํ•˜๋‹ค.
profile
์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์™€ ํŒŒ์ด์ฌ ๊ทธ๋ฆฌ๊ณ  ์ปดํ“จํ„ฐ์™€ ๋„คํŠธ์›Œํฌ

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