상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - 타입스크립트에서 Optional Chaining은 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
Optional Chaining은 TypeScript와 JavaScript에서 객체의 깊은 속성에 접근할 때 발생할 수 있는 오류를 방지하기 위한 문법적 기능입니다. 이 기능은 ES2020(ECMAScript 2020)에서 도입되었으며, TypeScript에서도 지원됩니다. Optional Chaining을 사용하면 객체의 속성이 존재하지 않거나 `null` 또는 `undefined`인 경우에도 안전하게 접근할 수 있습니다. Optional Chaining의 기본 문법 Optional Chaining은 `?.` 연산자를 사용하여 구현됩니다. 이 연산자는 객체의 속성에 접근할 때, 해당 속성이 존재하는지 확인하고, 존재하지 않으면 `undefined`를 반환합니다. 예를 들어, 다음과 같은 객체가 있다고 가정해 보겠습니다: ```typescript const user = { name: "Alice", address: { city: "Wonderland", zipCode: 12345 } }; ``` 이 객체에서 `user`의 `address` 속성에 접근하고 싶지만, `address`가 존재하지 않을 수도 있는 경우 Optional Chaining을 사용할 수 있습니다: ```typescript const city = user.address?.city; // "Wonderland" const country = user.address?.country; // undefined ``` 위의 코드에서 `user.address?.city`는 `user.address`가 존재하므로 `"Wonderland"`를 반환합니다. 반면에 `user.address?.country`는 `country` 속성이 존재하지 않기 때문에 `undefined`를 반환합니다. 중첩된 객체에 대한 접근 Optional Chaining은 중첩된 객체에 대해서도 유용하게 사용할 수 있습니다. 예를 들어, 다음과 같은 객체가 있다고 가정해 보겠습니다: ```typescript const user = { name: "Alice", address: { city: "Wonderland", zipCode: 12345, country: { name: "Fictionland" } } }; ``` 이 경우, `country`의 `name` 속성에 접근하려면 다음과 같이 Optional Chaining을 사용할 수 있습니다: ```typescript const countryName = user.address?.country?.name; // "Fictionland" const stateName = user.address?.state?.name; // undefined ``` 여기서 `user.address?.country?.name`은 `country`가 존재하므로 `"Fictionland"`를 반환하고, `user.address?.state?.name`은 `state`가 존재하지 않기 때문에 `undefined`를 반환합니다. 배열과의 결합 Optional Chaining은 배열과 함께 사용할 때도 유용합니다. 예를 들어, 배열의 특정 인덱스에 접근할 때 해당 인덱스가 존재하지 않을 수 있습니다: ```typescript const users = [ { name: "Alice" }, { name: "Bob" } ]; const firstUserName = users[0]?.name; // "Alice" const thirdUserName = users[2]?.name; // undefined ``` 위의 코드에서 `users[0]?.name`은 `"Alice"`를 반환하지만, `users[2]?.name`은 존재하지 않는 인덱스이므로 `undefined`를 반환합니다. 사용 시 주의사항 Optional Chaining은 매우 유용하지만, 몇 가지 주의사항이 있습니다: 1. 타입 안전성 : Optional Chaining을 사용할 때, 반환되는 값이 `undefined`일 수 있다는 점을 고려해야 합니다. 따라서 이 값을 사용하는 코드에서는 `undefined`를 처리할 수 있는 로직이 필요합니다. 2. 성능 : Optional Chaining은 객체의 깊은 속성에 접근할 때마다 존재 여부를 확인하므로, 성능에 영향을 줄 수 있습니다. 그러나 일반적인 사용에서는 큰 성능 저하가 발생하지 않습니다. 3. 코드 가독성 : Optional Chaining을 과도하게 사용하면 코드가 복잡해질 수 있습니다. 따라서 적절한 수준에서 사용하는 것이 중요합니다. 결론 Optional Chaining은 TypeScript와 JavaScript에서 객체의 깊은 속성에 안전하게 접근할 수 있는 유용한 기능입니다. 이를 통해 코드의 안정성을 높이고, `null` 또는 `undefined`로 인한 오류를 줄일 수 있습니다. 이러한 기능은 특히 복잡한 데이터 구조를 다룰 때 매우 유용하며, 개발자가 더 간결하고 읽기 쉬운 코드를 작성하는 데 도움을 줍니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기