>웹 프론트엔드 >JS 튜토리얼 >선택적 연결 및 Nullish 병합은 어떻게 JavaScript에서 Null 안전 속성 액세스 및 조건부 할당을 향상시킬 수 있습니까?

선택적 연결 및 Nullish 병합은 어떻게 JavaScript에서 Null 안전 속성 액세스 및 조건부 할당을 향상시킬 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-03 12:51:13425검색

How Can Optional Chaining and Nullish Coalescing Improve Null-Safe Property Access and Conditional Assignment in JavaScript?

EcmaScript 6의 NULL 안전 속성 액세스 및 조건부 할당

JavaScript에서는 개체의 속성에 액세스하는 것이 번거로울 수 있습니다. null이거나 정의되지 않았습니다. 또한 변수에 조건부로 값을 할당하면 오류가 발생하기 쉬운 try/catch 블록이 포함될 수 있습니다.

ES2020에 도입된 선택적 연결(?.) 연산자는 null 허용 개체의 속성에 액세스하는 간결한 방법을 제공합니다. 속성이 존재하지 않으면 정의되지 않은 값을 반환하므로 명시적인 검사가 필요하지 않습니다.

조건부 할당의 경우 null 병합 할당 연산자(??=)는 현재 null이거나 변수인 경우에만 변수에 값을 할당합니다. 한정되지 않은. 이렇게 하면 불필요하게 기존 값을 덮어쓰는 것을 방지할 수 있습니다.

예:

const query = (succeed) => (succeed ? { value: 4 } : undefined);

let value = 3;
for (let x of [true, false]) {
  value = query(x)?.value ?? value;
}
console.log(value); // Output: 4

이 예에서는 query(x).value가 존재하는 경우에만 할당이 발생하고, 그렇지 않은 경우 이전 값이 유지됩니다. 선택적 연결은 query(x)가 정의되지 않은 경우 속성에 액세스할 때 오류가 발생하지 않도록 보장합니다.

기타 참고:

  • ??= 연산자 속성의 존재 여부에 관계없이 항상 값을 할당하므로 조건부 속성 할당에 직접 사용할 수 없습니다.
  • 선택적 연결은 중첩된 속성 액세스에 사용됩니다(예: a?.b?.c). 여기서 a, b 및 c는 null 허용 개체의 속성입니다.
  • Babel-preset-env는 선택 사항으로 JavaScript 코드를 트랜스파일하는 데 사용할 수 있습니다. 이전 환경과의 호환성을 위한 체인 및 null 병합 연산자.

위 내용은 선택적 연결 및 Nullish 병합은 어떻게 JavaScript에서 Null 안전 속성 액세스 및 조건부 할당을 향상시킬 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.