선택적 변경 연산자는 속성 값에 도달하거나 오류가 발생할 때까지 경로를 따라 계속 진행됩니다.
직원에게 맡기다 = {이름 : '남자' ,
성 : '암사슴' ,
나이 : 3. 4
} ;
콘솔. 통나무 ( 직원. 주소 ? . 지퍼 ) ;
선택적 연결 연산자를 사용하지 않고 동일한 속성 값에 액세스하려고 시도했다면 오류가 발생했을 것입니다.
직원에게 맡기다 = {
이름 : '남자' ,
성 : '암사슴' ,
나이 : 3. 4
} ;
콘솔. 통나무 ( 직원. 주소 . 지퍼 ) ;
메서드 호출에 대한 선택적 연결
선택적 연결은 메서드 호출에서도 작동합니다. 객체 내에 메서드가 있는지 확실하지 않은 경우 선택적 연결을 사용할 수 있습니다. 사용 사례의 예로는 사용자의 기기에 따라 특정 기능을 포함하거나 포함하지 않을 수 있는 API에서 가져온 데이터가 있습니다.
직원에게 맡기다 = {
이름 : '남자' ,
성 : '암사슴' ,
나이 : 3. 4
} ;
콘솔. 통나무 ( 직원. 방법 ? . ( ) ) ;
선택적 연결 없이:
직원에게 맡기다 = {
이름 : '남자' ,
성 : '암사슴' ,
나이 : 3. 4
} ;
콘솔. 통나무 ( 직원. 방법 ( ) ) ;
선택적 연결 연산자는 오류를 피하기 위해 단일 명령문 내에서 여러 번 사용할 수도 있습니다.
Nullish 병합 연산자와 선택적 연결 결합
선택적 체이닝은 ?? 속성 또는 메서드가 없는 경우 기본값을 제공하는 연산자:
직원에게 맡기다 = {이름 : '남자' ,
성 : '암사슴' ,
나이 : 3. 4
} ;
콘솔. 통나무 ( 직원. 방법 ? . ( ) ?? '기능이 존재하지 않습니다' ) ;
기본값은 일부 함수 호출일 수도 있습니다.
선택적 체인 과다 사용
코드의 가독성과 우아함을 높이기 위해 선택적 체인이 도입되었습니다. 오류가 잠길 수 있으므로 주의해서 사용해야 합니다. 선택적 연결 연산자를 남용하면 코드에 문제가 발생할 수 있습니다.
결론
선택적 연결은 최근에 추가된 JavaScript 기능으로, 이러한 메서드 및 속성의 존재 여부를 수동으로 확인하는 것에 대해 걱정할 필요 없이 깊게 중첩된 JavaScript 객체 내의 속성 및 메서드에 액세스하는 데 사용할 수 있습니다.