Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에 null 병합(Null Coalescing) 연산자가 있나요?

JavaScript의 null 병합 연산자

네, JavaScript는 이제 null 병합(nullish coalescing) 연산자(??)를 공식적으로 지원합니다. 이 연산자는 값이 null 또는 undefined일 때만 오른쪽 값을 반환합니다.

그 전에 널리 사용되던 방식은 논리 OR(||) 연산자를 활용하는 것입니다. 왼쪽 값이 falsy(거짓으로 평가되는 값)일 경우 오른쪽의 실제 값을 대신 사용하는 방식입니다.

기본 문법

var anyVariableName = null;
var anyVariableName = yourVariableName || yourActualValue;

예제 코드

var fullName = null;
console.log("The full name is=" + fullName);

var actualName = fullName || "David Miller";
console.log("The full name is=" + actualName);

위 프로그램을 실행하려면 다음 명령어를 사용합니다.

node fileName.js

여기서는 파일 이름이 demo81.js라고 가정합니다.

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다.

PS C:\Users\Amit\JavaScript-code> node demo81.js
The full name is=null
The full name is=David Miller

|| 연산자와 ?? 연산자의 차이점

두 연산자는 비슷해 보이지만 중요한 차이가 있습니다.

  • 논리 OR(||): 왼쪽 값이 falsy인 경우(null, undefined, 0, "", false, NaN) 모두 오른쪽 값을 반환합니다.
  • null 병합(??): 왼쪽 값이 정확히 null 또는 undefined일 때만 오른쪽 값을 반환합니다.

따라서 0이나 빈 문자열("") 같은 유효한 값을 그대로 보존해야 하는 경우에는 ?? 연산자를 사용하는 것이 더 안전하고 의도에 맞습니다.