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이거나 정의되지 않은 경우 오류가 발생하지 않고 정의되지 않음을 반환합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!