단축 평가 논리 계산법
논리 연산자를 조금 더 유용하게 사용하는 방법
파라미터에 객체값이 올바르게 들어갔을 때
const dog = {
name: '멍멍이'
};
function getName(animal) {
return animal.name;
}
// 파라미터에 객체값이 제대로 들어갔을 때
const name = getName(dog);
console.log(name); //멍멍이
const dog = {
name: '멍멍이'
};
function getName(animal) {
return animal.name;
}
// 만약 파라미터에 값이 제대로 들어가지 않는다면 에러가 뜬다.
const name = getName();
console.log(name);
//TypeError: Cannot read property 'name' of undefined
const dog = {
name: '멍멍이'
};
function getName(animal) {
// animal 값이 제대로 주어졌을 때만 animal.name 값을 반환한다.
if (animal) {
return animal.name;
}
// 그렇지 않으면 undefined를 반환한다.
return undefined;
}
const name = getName();
console.log(name);
const dog = {
name: '멍멍이'
};
function getName(animal) {
// A && B 연산자
// A가 Truthy한 값이면 B가 결과값이 된다.
// A가 Falsy한 값이면 A가 결과값이 된다.
return animal && animal.name;
}
const name = getName();
console.log(name); // undefined
const namelessDog = {
name: ''
};
function getName(animal) {
const name = animal && animal.name;
// name의 값이 Falsy하면, '이름이 없는 동물입니다'라는 값 반환
if (!name) {
return '이름이 없는 동물입니다';
}
return name;
}
const name = getName(namelessDog);
console.log(name); // 이름이 없는 동물입니다
const namelessDog = {
name: ''
};
function getName(animal) {
const name = animal && animal.name;
// A || B
// A가 Truthy한 경우 결과값은 A
// A가 Falsy한 경우 결과값은 B
return name || '이름이 없는 동물입니다';
}
const name = getName(namelessDog);
console.log(name); // 이름이 없는 동물입니다