티스토리 뷰
존재하지 않을 수 있는 매서드를 호출할 때(사용자장치에서 사용안되는 기능과 같은 상황), optional chaining 을 사용한다. optional chaining을 사용함으로써 메서드를 찾을 수 없는 경우에 예외를 발생시키는 것 대신에 undefined를 반환한다.
예를 들어, 중첩된 구조를 가진 객체에서 obj가 있다. optional chaining이 없이 깊이 중첩된 하위 속성을 찾으려면, 다음과 같이 참조를 확인해야 한다
let nestedProp = obj.first && obj.first.second;
obj.first의 값은 obj.first.second의 값에 접근하기 전에 null (그리고 undefined)가 아니라는 점을 검증한다. 이는 만약에 obj.first를 테스트 없이 obj.first.second 에 직접 접근할 때 일어날 수 있는 에러를 방지한다.
그러나 optional chaining 연산자(?.)를 사용하여, obj.first.second 에 접근하기 전에 obj.first의 상태에 따라 명시적으로 테스트하거나 단락시키지 않아도 된다
let nestedProp = obj.first?.second;
대신에 ?. 연산자를 사용함으로써, 자바스크립트는 obj.first.second에 접근하기 전에 obj.first가 null 또는 undefined가 아니라는 것을 암묵적으로 확인하는 것을 알고 있다. 만약 obj.first가 null 또는 undefined이라면, 그 표현식은 자동으로 단락되어 undefined가 반환된다. ---> Safe Navigation Operator 라고 한다.(개체(왼쪽)가 null이 아닌 경우 멤버를 가져오고 null이여도 오류를 발생시키지않고 undefined 반환시켜버린다.
'Develop' 카테고리의 다른 글
Vue 의 특징 (0) | 2021.09.27 |
---|---|
부트스트랩 템플릿 사용시 충돌 이슈 (0) | 2021.09.26 |
좋은 코드란...(코드리뷰, 클린코드, 협업하기 좋은코드) (1) | 2021.09.01 |
HTML 조작시 narrowing 하기 (0) | 2021.08.26 |
[git] PR 과 MR (0) | 2021.08.25 |
- Total
- Today
- Yesterday
- 버팀목 국민은행
- vue정리
- 청년 버팀목 대출
- String Immutable
- Java
- JAVA 코테
- 나머지연산 분배법칙
- 알고리즘 나머지연산
- git #
- push to origin has encountered a problem
- 부트스트랩 템플릿 사용시 충돌
- safe operator
- Merge Request #Pull Request
- SQLD 후기
- 코드리뷰 #클린코드
- 자바 코테 유용한 함수
- #web /was 구분이유
- Property or method "" is not defined
- 프로시저 #배치 #스케쥴러 #잡 #바인딩변수
- Netlify #CICD
- Prim vs Dijkstra
- java 김영한 강의 #2chapter
- vue 특징
- git branch strategy
- Java #replace #replaceAll
- JAVA설치 #JDK #JRE
- 프로그래머스 네트워크
- 퍼블리싱 #앱에서 DB바로 안붙이는 이유
- Optinal Chaining
- SSAFY 6기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |