>웹 프론트엔드 >JS 튜토리얼 >선택적 연결 및 Nullish 병합은 JavaScript에서 Null 안전 속성 액세스를 어떻게 단순화합니까?

선택적 연결 및 Nullish 병합은 JavaScript에서 Null 안전 속성 액세스를 어떻게 단순화합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-09 11:39:11788검색

How Do Optional Chaining and Nullish Coalescing Simplify Null-Safe Property Access in JavaScript?

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

EcmaScript 6은 간결하고 효율적인 방식으로 속성 액세스 및 조건부 할당을 간소화하는 강력한 연산자를 제공합니다.

조건부 할당

이전 JavaScript 버전에서는 원하는 try/catch 블록을 사용하여 논리를 구현할 수 있습니다.

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

let value = 3;
for (let x of [true, false]) {
  try { value = query(x).value; } catch {} // Don´t assign if no .value
}
console.log(value); // Outputs: 4

선택적 연결

이제 선택적 연결을 사용하면 이 논리를 상당히 단순화할 수 있습니다.

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

let value = 3;
for (let x of [true, false]) {
  value = query(x)?.value; // Assign only if `.value` exists
}
console.log(value); // Outputs: 4

?. 연산자는 query(x)가 null이 아니고 정의되지 않았는지 확인한 다음 value 속성에 액세스합니다. 쿼리(x)가 null이거나 정의되지 않은 경우 오류가 발생하지 않고 정의되지 않음을 반환합니다.

Nullish Coalescing

null 허용 값의 경우 null 병합 연산자(??)를 활용할 수 있습니다.

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

let value = 3;
for (let x of [true, false]) {
  value ??= query(x).value; // Assign only if `value` is null or undefined
}
console.log(value); // Outputs: 4

?? 연산자는 왼쪽 피연산자를 null 또는 정의되지 않은 것과 비교하고 true인 경우 오른쪽 피연산자를 할당합니다. 이 경우 값은 처음에 null이거나 정의되지 않은 경우에만 업데이트됩니다.

이러한 연산자는 최신 브라우저에서 지원되며 브라우저 간 호환성을 위해 Babel과 함께 사용할 수 있습니다.

위 내용은 선택적 연결 및 Nullish 병합은 JavaScript에서 Null 안전 속성 액세스를 어떻게 단순화합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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