Javascript에서 Nullish Coalescing(또는 ??)이란 무엇입니까?
6165 단어 tutorialwebdevjavascript
??
연산자는 왼쪽이 null
또는 undefined
일 때마다 오른쪽을 반환하는 데 사용됩니다. 조금 더 잘 이해하기 위해 몇 가지 예를 살펴보겠습니다.// Is set to 0
let x = 0 ?? "hello";
// Is set to goodbye
let y = undefined ?? "goodbye";
// Is set to hello
let z = null ?? "hello";
// Is set to false
let a = false ?? "goodbye";
null 병합 연산자는 무언가가
null
또는 undefined
로 반환될 수 있는 상황에서 유용하며 코드를 강화하는 데 도움이 됩니다. 예를 들어, 일부 상황에서 정의되지 않은 값을 반환하는 함수는 기본값과 함께 제공될 수 있습니다.let myFunction = (a) => {
if(a >= 5) {
return "hello world";
}
}
// Will return "goodbye world", since `myFunction(4)` returns undefined.
let runFunction = myFunction(4) ?? "goodbye world";
논리 OR 연산자의 차이점
과거에는 일반적으로 논리적 OR(
||
) 연산자를 사용하여 Javascript에서 기본값을 설정했습니다. 왼쪽의 첫 번째 값이 특정 기준을 충족하지 않는 경우 값을 설정한다는 점에서 동일한 종류의 기능이 있습니다. 그러나 ||
연산자는 왼쪽 값이 거짓이면 오른쪽 값을 반환하고 아래 목록과 같이 거짓 값이 많이 있습니다.잘못된 값
false
0
또는 -0
또는 0n
""
null
undefined
NaN
따라서
||
연산자를 사용하면 함수가 0
값을 반환하고 실제로 0
값을 사용하고 싶었지만 0
가 거짓이기 때문에 사용할 수 없다는 의미입니다. null 병합 연산자( ??
)에서 0
는 값이 null
또는 undefined
인 경우에만 트리거되므로 유효한 값입니다.// Is set to 0
let x = 0 ?? 5;
// Is set to 5
let y = 0 || 5;
마찬가지로, 문자열이 비어 있으면
||
연산자는 기본적으로 오른쪽이 됩니다. 이는 항상 원하는 동작이 아닙니다. ??
연산자를 사용하면 다음을 피할 수 있습니다.// Is set to ""
let x = "" ?? "default text";
// Is set to "default text"
let x = "" || "default text";
null 병합 연산자 연결
아래와 같이 null 병합 연산자를 연결하는 것도 가능합니다.
// Is set to "default text"
let x = null ?? undefined ?? "default text";
그러나 다음과 같이 괄호를 사용하지 않는 한 논리
||
연산자와 연결할 수 없습니다.// Errors out:
let x = 0 || undefined ?? "default text";
// Returns "default text";
let y = (0 || undefined) ?? "default text";
Reference
이 문제에 관하여(Javascript에서 Nullish Coalescing(또는 ??)이란 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/smpnjn/what-is-nullish-coalescing-or-in-javascript-2g5k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)