Logical OR Assignment

assignment operator을 이해하기 위해 유저의 이름을 가져오는 코드를 작성해보겠다.

const name = prompt("What is your name?");

console.log(`Hello ${name}`);

이 때 prompt 창에 이름을 입력하지 않는다면 null이 들어가 Hello null이 출력되게 된다. 이를 수정하는 코드를 작성한다.

const name = prompt("What is your name?");
if (!name) {
  name = "anonymous";
}
console.log(`Hello ${name}`);

이것이 logical OR operator가 존재하는 이유이다. logical OR operator는 비어있거나 falsy한 변수에 값을 넣을 수 있게 해준다. 여기서 falsy하다는 것은 비어있는 텍스트(""), null, undefined, false, 0을 포함한다.

따라서 이 코드를 다음과 같이 수정할 수 있다.

const name = prompt("What is your name?");
name ||= "anonymous";

console.log(`Hello ${name}`);