논리 연산자(JS)
|| (OR)
인수중 하나라도 true 면 true 반환, 아닐 시 false 피연산자 불린형 아닐 시 평가 위해 불린형으로 변환
-
첫 번째 truthy 찾는 OR 연산자 ‘||’ OR 연산자와 피연산자가 여러 개인 경우 다음 순서에 따라 연산 수행 가장 왼쪽 피연산자부터 시작해 오른쪽으로 피연산자 평가 각 피연산자 불린형으로 변환. 변환 후 그 값 true 이면 연산 멈추고 해당 피연산자 변환 전 원래 값 반환 피연산자 모두 평가 후 모두 false 일 시 마지막 피연산자 반환
- 활용 용도 변수 또는 표현식으로 구성된 목록에서 첫 번째 truthy 실제 값 들어있는 변수 찾고 보여줌.
- 단락 평가 연산자 왼쪽 조건이 falsy 일 때만 명령어 실행할 때 유용
&& (AND)
두 연산자 모두 참일 때 true 반환, 아닐 시 false 피연산자 불린형 아닐 시 평가 위해 불린형으로 변환
-
첫 번째 falsy 찾는 AND 연산자 ‘&&’ AND 연산자와 피연산자 여러 개인 경우 다음 순서에 따라 연산 수행 가장 왼쪽 피연산자부터 시작해 오른쪽으로 피연산자 평가 각 피연산자 불린형으로 변환. 변환 후 그 값 falsy 이면 연산 멈추고 해당 피연산자 변환 전 원래 값 반환 피연산자 모두 평가 후 모두 true 일 시 마지막 피연산자 반환
- 활용 용도 변수 또는 표현식으로 구성된 목록에서 첫 번째 falsy
- 단락 평가 모든 조건이 true 일 때만 명령어 실행할 때 유용
**&& 우선 순위 | 보다 높음** |
**if 를 | 나 && 으로 대체 지양** |
!(NOT)
다음 순서대로 연산 수행
- 피연산자 true/false 변환
- 1에서 변환된 값 역 반환
- 두개 연달아 사용 시 불린형으로 변환 (Boolean 함수 사용 시 같은 결과)
요약
-
(OR) 연산자는 피연산자 boolean 형으로 반환하여 인수 중 하나라도 true 일 시 true 반환 -
(OR) 연산자는 체이닝 될 경우 첫 번째 truthy 찾고 해당 피 연산자의 원래 값 반환 -
(OR) 연산자는 체이닝 될 경우 모든 값 falsy 일 시 마지막 값 반환 -
(OR) 연산자는 단락 평가 기능 사용 가능 -
&& (AND) 연산자는 피연산자 boolean 형으로 반환하여 인수 중 하나라도 false 일 시 false 반환
-
&& (AND) 연산자는 체이닝 될 경우 첫 번째 falsy 찾고 해당 피 연산자의 원래값 반환.
-
(OR) 연산자는 체이닝 될 경우 모든 값 truthy 일 시 마지막 값 반환 -
&&의 우선순위는 보다 높음 -
if 문을 나 && 으로 대체하는건 가독성, 명백성 때문에 지양. -
!(NOT) 연산자는 피연산자를 Boolean 형으로 변환 후 변환된 값의 역 반환
- Boolean 내장 함수는 !! 사용한 것과 같은 결과 도출