Javascript의 Nullish 병합(??)
5646 단어 javascript
기초
시작하기 전에 기본 개념부터 살펴보겠습니다.
JavaScript에는
undefined
, null
, NaN
, 0
, ""
, false
6개의 잘못된 값이 있습니다.위의 값은 조건에서
false
값으로 간주됩니다. learn more소개
왼쪽 피연산자가 거짓이면 일반적으로 논리 OR(
||
) 연산자를 사용하여 오른쪽 피연산자를 반환합니다.구문은
leftExpression || rightExpression
leftExpression
가 사실이면 반환됩니다.leftExpression
가 거짓이면 rightExpression
가 반환됩니다.예를 들어:
let falsyValue = 0;
let truthyValue = 1;
console.log(falsyValue || 'printed'); //output: 'printed'
console.log(truthyValue || 'nope'); //output: 1
0
또는 ""
(빈 문자열)을 유효한 값으로 간주하면 예기치 않은 문제가 발생할 수 있습니다.이것이 Nullish Coalescing(
??
) 연산자가 우리를 도와주는 곳입니다. ES2020에 도입되었습니다.무효화 합체(??)
Nullish Coalescing(
??
) 연산자는 왼쪽 표현식이 null인 경우 오른쪽 표현식을 반환하는 데 사용됩니다.A nullish value is a value that is either
null
orundefined
.
다음은 표현식의 몇 가지 예입니다.
// comments represent the value returned
0 ?? 'expressionB' // 0
0 || 'expressionB' // expressionB
'' ?? 'expressionB' // ''
'' || 'expressionB' // expressionB
null ?? 'expressionB' // expressionB
null || 'expressionB' // expressionB
undefined ?? 'expressionB' // expressionB
undefined || 'expressionB' // expressionB
let object = {}; // same for [] as well
object ?? 'expressionB' // {}
object || 'expressionB' // {}
단락
AND(
&&
) 및 OR( ||
) 연산자와 유사하게 Nullish Coalescing( ??
)도 단락되어 왼쪽 피연산자가 null
도 아니고 undefined
도 아닌 경우 오른쪽 피연산자를 실행하지 않습니다. .체이닝
??
또는 &&
연산자를 사용하여 ||
를 연결하면 SyntaxError
가 발생합니다. null || undefined ?? 'OK'; // Uncaught SyntaxError: Unexpected token '??'
이것은 괄호를 사용하여 연산자 우선 순위를 명시적으로 지정함으로써 피할 수 있습니다.
(null || undefined) ?? 'OK'; // "OK"
참고문헌
JavaScript Nullish Coalescing Operator
Reference
이 문제에 관하여(Javascript의 Nullish 병합(??)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/shamoilarsi/nullish-coalescing-in-javascript-1caj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)