Skip to content

Commit cc38ff5

Browse files
[옵셔널 체이닝] 번역 완료
- 미번역분 추가 번역
1 parent 01d6168 commit cc38ff5

File tree

1 file changed

+6
-6
lines changed
  • 1-js/04-object-basics/07-optional-chaining

1 file changed

+6
-6
lines changed

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ let user = {}; // 주소 정보가 없는 사용자
1717
alert(user.address.street); // TypeError: Cannot read property 'street' of undefined
1818
```
1919

20-
또 다른 사례는 브라우저에서 동작하는 코드를 개발할 때 발생할 수 있는 문제로, 페이지에 존재하지 않는 요소에 접근해 요소의 정보를 가져오려 할 때 발생합니다.
20+
또 다른 사례론 브라우저에서 동작하는 코드를 개발할 때 발생할 수 있는 문제가 있습니다. 자바스크립트를 사용해 페이지에 존재하지 않는 요소에 접근해 요소의 정보를 가져오려 하면 문제가 발생하죠.
2121

2222
```js run
2323
// querySelector(...) 호출 결과가 null인 경우 에러 발생
@@ -40,10 +40,10 @@ alert( user && user.address && user.address.street ); // undefined, 에러가
4040

4141
`?.``?.`'앞'의 평가 대상이 `undefined``null`이면 평가를 멈추고 `undefined`를 반환합니다.
4242

43-
**설명이 장황해지지 않도록 지금부턴 평가후 결과가 `null`이나 `undefined`가 아닌 경우엔 값이 '있다', '존재한다'라고 표현하겠습니다.**
43+
**설명이 장황해지지 않도록 지금부턴 평가후 결과가 `null`이나 `undefined`가 아닌 경우엔 값이 '있다' 혹은 '존재한다'라고 표현하겠습니다.**
4444

4545

46-
옵셔널 체이닝을 사용해 `user.address.street`에 안전하게 접근해봅시다.
46+
이제 옵셔널 체이닝을 사용해 `user.address.street`에 안전하게 접근해봅시다.
4747

4848
```js run
4949
let user = {}; // 주소 정보가 없는 사용자
@@ -62,9 +62,9 @@ alert( user?.address.street ); // undefined
6262
6363
위 예시를 통해 우리는 `?.``?.` '앞' 평가 대상에만 동작되고, 확장은 되지 않는다는 사실을 알 수 있습니다.
6464
65-
In the example above, `user?.` allows only `user` to be `null/undefined`.
65+
참고로 위 예시에서 사용된 `user?.``user``null`이나 `undefined`인 경우만 처리할 수 있습니다.
6666
67-
On the other hand, if `user` does exist, then it must have `user.address` property, otherwise `user?.address.street` gives an error at the second dot.
67+
`user``null`이나 `undefined`가 아니고 실제 값이 존재하는 경우엔 반드시 `user.address` 프로퍼티는 있어야 합니다. 그렇지 않으면 `user?.address.street`의 두 번째 점 연산자에서 에러가 발생합니다.
6868
6969
```warn header="옵셔널 체이닝을 남용하지 마세요."
7070
`?.`는 존재하지 않아도 괜찮은 대상에만 사용해야 합니다.
@@ -81,7 +81,7 @@ On the other hand, if `user` does exist, then it must have `user.address` proper
8181
// ReferenceError: user is not defined
8282
user?.address;
8383
```
84-
There must be `let/const/var user`. The optional chaining works only for declared variables.
84+
`user?.anything`을 사용하려면 `let`이나 `const`, `var`를 사용해 `user`를 정의해야 하죠. 이렇게 옵셔널 체이닝은 선언이 완료된 변수를 대상으로만 동작합니다.
8585
````
8686

8787
## 단락 평가

0 commit comments

Comments
 (0)