-
JS Optional Chainingjavascript 2021. 6. 20. 02:46
Optional Chaining이란
Optional Chaining이란? 객체 값을 참조할 때 유효하지 않은 값을 참조하는 경우에 대한 처리를 단순하게 표현하기 위한 문법이다.
문법
일단 문법을 먼저 보면 다음과 같은 구조를 가진다.
?.
부분이 optional chaining 으로 객체가undefined
혹은null
인 경우 에러 대신undefined
를 리턴한다.obj?.prop obj?.[expr] arr?.[index] func?.(args)
일반적인 객체 뿐만 아니라 배열이나 함수를 참조할 때도 유효성을 체크할 수 있다.
사용 용도
만약 optional chaining 문법을 사용하지 않는다면 어떻게 처리해야 할까?
여러 방법이 있겠지만 간단하게는 다음과 같을 것이다.
obj && obj.prop
그렇게 복잡한 것 같지는 않지만 다음과 같이 object의 중첩이 있다면 좀 더 효율적이다.
obj && obj.prop1 && obj.prop1.prop2 // without optional chaining
obj?.prop1?.prop2 // with optional chaining
주의할 점
해당 문법은 ES2020에 추가된 문법으로 대부분 최신 브라우저에서는 지원하지만 IE에서는 지원하지 않는다. 따라서 IE나 이전 버전 브라우저에서의 적용이 필요하면 babel을 통한 트랜스파일링이 필요하다.
'javascript' 카테고리의 다른 글
JS e.preventDefault()와 e.stopPropagation() (0) 2021.06.20 JS deep copy(깊은 복사) vs shallow copy(얕은 복사) (0) 2021.06.07 JS deep copy 방법 (0) 2021.06.06