논리 연산자의 특성(오른쪽에서 왼쪽으로 흐르면서 계산하는)을 이용한 문법이다.
//Truthy와 Falsy를 이용해보자
const getName = (person) => {
const name = person && person.name;
//&& 연산자는 Falsy한 값을 먼저 만나게 되면 연산자의 뒤의 값을 고려하지 않고 접근하지 않는다.
//먼저 만난 Falsy한 값을 반환한다.
return name || "객체가 아닙니다.";
//Falsy한 값 즉 undefined가 name으로 할당된다.
// undefined || "객체가 아닙니다."(Truthy한 값);
// 즉, ||(or)연산자는 Truthy한 값을 만나 Truthy를 반환하게 되어
//"객체가 아닙니다"가 출력되게 된다.
};
let person;
const name = getName(person);
console.log(name);