1. 단축평가논리계산법(Short-circuit evaluation)
- 논리 연산자(!, &&, ||)를 이용해 코드를 짧게 작성하는 것
- true && true // true
- true && false // false
- true || false // true
- false || true // true
2. &&단축평가 논리 계산
constdog={
name:'멍멍이'
};
functiongetName(animal){
if(animal){
return animal.name;
}
return undefined;
}
functiongetName(animal){
//&&앞에값이truthy면&&뒤에있는값을출력
//&&앞에값이falsy면&&뒤에있는값을출력안한다
//null&&'hello'이면flase가아닌null값이falsy한값으로출력
//undefined&&'hello'이면flase가아닌undefined값이falsy한값으로출력
//&&앞에falsy한값으로입력이되면false대신에falsy값이대체된다
return animal&&animal.name;
}
constname=getName();
console.log(name);
-ex)constobject=null;
//constobject={name:'a'};
constname=object&&object.name;
console.log(name);
- || 단축 평가 논리 계산
- 어떠한 값이 없을 때 이거 사용할래하는 상황에서 사용
constnamelessDog={
name:'';
};
functiongetName(animal){
constname=animal&&animal.name;
if(!name){
return '이름이없는동물'
}
return
}
functiongetName(animal){
constname=animal&&animal.name;
//false||'helllo'
//''||'이름없다'
//null||'널이다'
//undefined||'defined되지않았다'
//1||'음';
//||앞에값이falsy면뒤에있는truthy값을반환
//||앞에값이truthy면뒤에있는값은보지않고앞에있는값반환
return name||'이름이없는동물';
}
constname=getName(namelessDog)
console.log(name)