JavaScript
[JavaScript] Optional chaining (?.)
hrming
2024. 7. 30. 15:15
옵셔널 체이닝은 존재하지 않을 수 있는 프로퍼티 또는 메서드를 안전하게 호출할 수 있도록 도와준다.
?. 연산자의 왼쪽에 있는 것을 평가한 뒤, undefined 또는 null이 맞다면 undefined를 반환하고 평가가 끝난다.
장점
1. if문을 줄여준다
2. nullish 연산자 (??)와 함께 쓰면 기본값 설정하기에 유리하다
3. 대괄호 표기법에도 옵셔널 체이닝이 가능하다
4. 존재하지 않을 수 있는 메서드를 호출할 때도 유용하다
5. 배열 항목에 접근이 가능하다
→ 기억을 더듬어... 예시 혼자 생각해보고, 모르겠으면 아래 블로그 가서 예시 참고하기! 😎
주의점
1. 지원하지 않는 브라우저에서는 동작하지 않기기때문에, 브라우저 호환성을 고려해야 한다.
2. 프로퍼티나 메서드가 null 또는 undefined인 경우에만 동작한다.
따라서, falsy값 (0, "", false)등은 체이닝 연산의 결과가 아니라 그대로 반환된다.
3. 옵셔널 체이닝을 남발하면 코드 가독성이 저하될 수 있다.
4. 함수 호출 시, 인자로 사용할 수 없다. (함수 호출 전에 활용)
5. 옵셔널 체이닝은 객체의 속성과 함수 호출 등 다양한 경우에 사용될 수 있으며, 배열의 인덱스에 적용하는 것도 가능하다. 다만, 배열의 경우에는 요소가 존재하는지 여부를 따로 고려할 필요가 있다.
참고 및 출처 :
ChatGPT