Javascript 를 코딩할 때 값 체크는 필수로 해야 한다.
null, undefined 발생시 치명적인 오류로 나타나기 때문인데
이게 은근히 귀찮다.
if(변수 === undefined || 변수 === null) {
변수 = 할당값;
}
변수나 object 가 한두개가 아니기 때문에 항상 신경 써주어야 한다.
??= 연산자는 2020-08-25 일에 릴리즈된 크롬 85버전 이상이면 동작한다.
(구형 브라우져를 만족하려면 구문 에러가 발생한다. 어지간한 브라우저이면 다 동작한다.)
x ??= y 로 표현했을때 아래 내용과 동일하다.
x ?? (x = y);
값 체크 없이 할당하는 예 :
let a = {duration: 50};
a.duration ??= 10;
console.log(a.duration);
// Expected output: 50
a.speed ??= 25;
console.log(a.speed);
// Expected output: 25
Javascript 이 Null 병합 할당 연산자로 기본값고 할당값을 편하게 쓸 수 있다.
function config(options) {
options.duration ??= 100;
options.speed ??= 25;
return options;
}
a = config({ duration: 125 });
console.log(a); // { duration: 125, speed: 25 }
b = config({});
console.log(b); // { duration: 100, speed: 25 }
Null 병합 연산자 ?? 요놈과는 다르니 구분해서 써야 된다.