본문 바로가기
javascript/모던 자바스크립트 Deep Dive

옵셔널 체이닝

by yongfront 2024. 2. 2.
반응형
SMALL

ECMAScript 11 (ES11), 또는 ECMAScript 2020는 JavaScript의 최신 버전 중 하나입니다. 이 버전에서 도입된 중요한 기능 중 하나는 "옵셔널 체이닝(Optional Chaining)"입니다. 옵셔널 체이닝은 객체의 속성을 안전하게 접근하고 검사하기 위한 기능으로, 코드를 보다 간결하고 안정적으로 만들어줍니다.

옵셔널 체이닝은 객체의 속성을 접근할 때 객체가 존재하지 않는 경우에도 오류를 발생시키지 않고 체이닝된 속성을 검사합니다. 이 기능은 많은 코드에서 널 값 또는 언디파인드(Null or Undefined)를 다룰 때 유용하게 사용됩니다.

옵셔널 체이닝의 사용법은 다음과 같습니다:

// 객체의 중첩된 속성을 안전하게 접근
const person = {
name: 'John',
address: {
city: 'New York'
}
};
const cityName = person?.address?.city; // 'New York'
// 객체가 없는 경우에도 에러가 발생하지 않음
const age = person?.age; // undefined

위의 코드에서 ?. 연산자는 객체나 속성이 존재하지 않는 경우에도 에러를 발생시키지 않고 **undefined**를 반환합니다. 따라서 속성이 존재하지 않는 경우에도 코드가 계속 실행될 수 있습니다.

옵셔널 체이닝은 널 병합 연산자(??)와 함께 사용될 때 더욱 강력한 기능을 발휘합니다. 널 병합 연산자는 값이 null 또는 **undefined**인 경우에 대체값을 제공할 수 있게 해줍니다. 예를 들어:

const user = {
name: 'Alice',
// age가 null 또는 undefined일 기본값인 25 설정
age: null
};
const age = user?.age ?? 25; // age가 null이므로 25 할당됨

옵셔널 체이닝과 널 병합 연산자는 JavaScript 코드를 더 안전하고 간결하게 만들어주며, 객체와 속성을 다룰 때 편리한 기능을 제공합니다. ES11부터 도입된 이러한 기능은 모던 JavaScript 코드에서 많이 활용되고 있습니다.

728x90
반응형
LIST

'javascript > 모던 자바스크립트 Deep Dive' 카테고리의 다른 글

일급 객체  (0) 2024.02.02
ECMAScript 에서의 공유에 의한 전달  (1) 2024.02.02
동적 타입 언어와 정적 타입 언어  (0) 2024.02.02
숫자타입  (0) 2024.02.02
가비지 콜렉터  (0) 2024.02.02