const n1 = true;
3 || 4 // 3
n1 || 8 // true
false || 4 // 4
0 || 9 // 9
먼저 논리 OR 연산자를 살펴보면 이 연산자는 → 방향으로 연산을 진행하고
가장 먼저 참(true) 의 형태를 가진 value 가 나오는 경우 그 피연산자를 바로 반환해버리고 연산을 끝내버린다.
객체 존재 활용
var obj = { };
if (obj) {
console.log("obj 가 존재하잖아?");
}
이런 if 문의 Boolean 암묵적 형변환은 위와같이 변수에 객체(Object)가 제대로 할당되어 있는지 확인할 때 유용하게 사용할 수 있다.
객체의 경우 true 로 형변환이 되고, 만약에 할당되어 있지 않는다면 보통 undefined가 들어가며, undefined는 false 로 형변환이 된다.
논리연산자 활용하기
디폴트 할당에 많이 쓰인다.
function foo(num) {
const n = num || 99; //만약 num값이 들어오지 않는다면, undefined가 됩니다.
console.log(n);
}
foo(3); // 3
foo(); // 99
foo 함수를 호출할 때 매개변수를 전달하지 않는다면, num 은 undefined 가 되고 이건 false 로 판단되어 뒤의 값인 99가 기본으로 반환된다.
이렇게 Boolean 으로 형 변환 했을 때 false 로 판단되는 값들을 보통 falsy 한 값들이라고 부른다.
'웹 개념 > javascript' 카테고리의 다른 글
instanceof (0) | 2022.04.20 |
---|---|
커링(currying) (0) | 2022.04.20 |
생성자와 new 연산자 (0) | 2022.04.20 |
this 개념 (0) | 2021.11.27 |
foreach 문 (0) | 2021.11.27 |