✏️ Javascript

null 병합 연산자 (Nullish Coalescing Operator)

category
✏️ Javascript
date
thumbnail
slug
null-병합-연산자
author
status
Public
tags
summary
type
Post

null 병합 연산자(Nullish Coalescing Operator)

  • ??
  • 왼쪽 피연산자가 null 또는 undefined일 때 오른쪽 피연산자를 반환하고, 그렇지 않으면 왼쪽 피연산자를 반환하는 논리 연산자
  • 값이 확정된 변수를 찾을 때 사용하는 연산자.
  • 값이 확정되지 않은 변수 ⇒ null이나 undefined가 있는 변수
 
let numA = 10;
let numB = 20;
let numC;

console.log(numA ?? numB); // 10
// numA는 10, numB는 20으로 둘 다 값이 확정되었기 때문에 
// null 병합 연산에서 ?? 연산자 기준 왼쪽의 값을 연산 결과로 반환

console.log(numC ?? numB); // 20
// numB는 20, numC는 값을 할당하지 않아 undefined 값을 갖기 때문에 
// null 병합 연산에서 값이 확정된 변수인 numB의 값을 연산 결과로 반환
 

예시 요구사항

아래 주어진 코드에서 코드를 추가해 변수 user에 해당 사용자의 이름이 있다면 이름을, 이름이 없다면 닉네임을 저장하시오.
let name;
let nickname = "Lami"
정답
let name;
let nickname = "Lami";

let user = name ?? nickname;

console.log(user); // Lami
 

OR 단락 평가와 null 병합 연산자

const varA = 0;
const varB = "Lami";

const resultA = varA || varB;
// varA는 falsy한 값, varB는 truthy한 값이기 때문에 연산 결과 varB의 값인 Lami를 resultA에 저장

const resultB = varA ?? varB;
// varA와 varB에서 첫 번째로 확정된 값은 varA의 0이기 때문에 이 값을 resultB에 저장

console.log(resultA); // Lami
console.log(resultB); // 0
 
 

참고