[JS] Optional Chaining

Optional Chaining์€ ?. ์—ฐ์‚ฐ์ž์ด๋‹ค. ์•„๋ž˜ ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด์ž.

1
2
3
4
5
6
7
8
9
const user = {
    /*
    name: {
        first: "Minsoo",
        last: "Kim"
    },
    */
    age: 15
}
1
2
> user.age
15

์˜ค๋ฅ˜์—†์ด ์ •์ƒ์ด๋‹ค.

1
2
> user.name
undefined

1๊ฐœ์˜ ๊ฐ์ฒด์— ๋Œ€ํ•˜์—ฌ ์ ‘๊ทผํ•  ๋•Œ๋Š” undefined๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

1
2
> user.name.first
Uncaught TypeError: Cannot read properties of undefined

์œ„์™€ ๊ฐ™์ด 2๊ฐœ ์ด์ƒ์˜ ๊ฐ์ฒด์— ๋Œ€ํ•˜์—ฌ ์ ‘๊ทผํ•  ๋•Œ๋Š” TypeError๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์Šคํฌ๋ฆฝํŠธ๋Š” ๋” ์ด์ƒ ์ง„ํ–‰ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ?. ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—๋Ÿฌ ์—†์ด ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

1
2
> user.name?.first
undefined

Leave a comment