Skip to content

Commit 7b0b906

Browse files
committed
[옵셔널 체이닝] 리뷰 반영 — 문단 분리 및 예시 코드 보강
1 parent b61769a commit 7b0b906

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

  • 1-js/04-object-basics/07-optional-chaining

1-js/04-object-basics/07-optional-chaining/article.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99

1010
이제 막 자바스크립트를 배우기 시작했다면 옵셔널 체이닝이 등장하게 된 배경 상황을 직접 겪어보지 않았을 겁니다. 몇 가지 사례를 재현하면서 왜 옵셔널 체이닝이 등장했는지 알아봅시다.
1111

12-
사용자가 여러 명 있는데 그중 몇 명은 주소 정보를 가지고 있지 않다고 가정해봅시다. 이럴 때 `user.address.street`를 사용해 주소 정보에 접근하면 에러가 발생할 수 있습니다.
12+
사용자가 여러 명 있는데 그중 몇 명은 주소 정보를 가지고 있지 않다고 가정해봅시다.
13+
14+
이럴 때 `user.address.street`를 사용해 주소 정보에 접근하면 에러가 발생할 수 있습니다.
1315

1416
```js run
1517
let user = {}; // 주소 정보가 없는 사용자
@@ -198,16 +200,16 @@ let user1 = {
198200
firstName: "Violet"
199201
};
200202
201-
let user2 = null; // user2는 권한이 없는 사용자라고 가정해봅시다.
202-
203-
let key = "firstName";
203+
let user2 = null;
204204
205205
alert( user1?.[key] ); // Violet
206206
alert( user2?.[key] ); // undefined
207207
```
208208

209209
`?.``delete`와 조합해 사용할 수도 있습니다.
210210

211+
예시:
212+
211213
```js run
212214
delete user?.name; // user가 존재하면 user.name을 삭제합니다.
213215
```
@@ -217,6 +219,7 @@ delete user?.name; // user가 존재하면 user.name을 삭제합니다.
217219
218220
예시:
219221
```js run
222+
let user = null;
220223
// user가 존재할 경우 user.name에 값을 쓰려는 의도로 아래와 같이 코드를 작성해 보았습니다.
221224

222225
user?.name = "Violet"; // SyntaxError: Invalid left-hand side in assignment

0 commit comments

Comments
 (0)