[ES6+] ES2020 ?? operator


?? operator : nullish coalescing operator

 와 동일한 역할을 한다
let name;
console.log("hello", name);
//hello undefined

console.log("hello", name || "anonymous");
//hello anonymous (name이 false일때 디폴트값설정)

but 이것에도 한계가 존재했는데,

만약 변수가 0이거나 빈문자열인경우 값을 false로 처리한다는 것이다.

그치만 0도 충분히 값이 될수있자나!!!

그래서 나온게 ??연산자이다.

null 이거나 undefined 일때만 작동한다

name = 0;

console.log("hello", name ?? "anonymous");
//hello 0

name = "";

console.log("hello", name ?? "anonymous");
//hello 

||?? 는 각자의 쓰임새가 있으니 본인이 사용하고싶은걸 사용하면 된다




노마드코더의 ‘ES6의 정석’을 듣고 정리 =)




© 2018. by sora

Powered by sora