JS 논리 연산자 - ‘||=’ 와 ‘??’
Table of contents
||=
Logical OR assignment
- 왼쪽 피연산자가 falsy한 값(ex.
0
또는“”
또는null
또는undefined
)일 때 오른쪽 피연산자를 반환하는 논리 연산자 - 단, IE(Internet Explorer) 환경에서는 사용할 수 없다.
const a = { duration: 50, title: "" };
a.duration ||= 10;
// a.duration = a.duration || 10;
console.log(a.duration); // 50
a.title ||= "title is empty.";
// a.title = a.title || 'title is empty.';
console.log(a.title); // title is empty.
??
Nullish coalescing operator
- 왼쪽 피연산자가
null
또는undefined
일때 오른쪽 피연산자를 반환하고, 아니라면 왼쪽 피 연산자를 반환하는 논리 연산자 **||**
논리 연산자는null
또는undefined
뿐만 아니라 falsy한 값(ex.0
또는“”
)에 해당하는 경우에도 오른쪽 피연산자를 반환한다는 점에서??
논리 연산자와 차이가 있다.- 단, IE(Internet Explorer) 환경과 Opera Android 환경에서는 사용할 수 없다.
const foo = null ?? "default string";
console.log(foo);
// expected output: "default string"
const baz = 0 ?? 42;
console.log(baz);
// expected output: 0