JS - 논리 연산자

가가·2020년 12월 21일
0

js

목록 보기
10/11

||(OR)

result = a || b;

인수 중 하나라도 true이면 true를 반환하고, 그렇지 않으면 false 를 반환.

alert(true||false); //true

피연산자가 모두 false인 경우를 제외하고 연산결과는 항상 true.

if(1||0){ //if(true||false) 와 동일하게 동작.
	alert('truthy');
   }

첫 번째 truthy를 찾는 or 연산자 '||'

result = value1 || value2 || value3;

or 연산자와 피연산자가 여러 개 인경우

  • 가장 왼쪽 피연산자 부터 시작해 오른쪽으로 나아가며 평가.
  • 각 피연산자를 불린형으로 변환. 변환 후 그값이 true면 연산을 멈추고 해당 피연산자의 변환 전 원래 값을 반환
  • 피연산자 모두 false라면 마지막 피연산자를 반환.

&&(and)

result = a && b;

두 피연산자가 모두 참일때 true를 반환한다. 그 외는 전부 false.
or연산자와 마찬가지로 and연산자의 피연산자도 타입에 제약이 없다.

첫 번째 falsy를 찾는 and 연산자 '&&'

result = value1 && value2 && value3; 
  • 가장 왼쪽 피연산자부터 시작해 오른쪽으로 나아가며 평가.
  • 각 피연산자는 불린형으로 변환. 변환 후 값이 false면 평가를 멈추고 해당 피연산자의 변환 전 원래 값을 반환.
  • 피연산자 모두가 평가되는 경우 (모든 피연산자가 true로 평가되는 경우)엔 마지막 피연산자가 반환.
    (&&의 우선순위가 || 보다 높다)

!(not)

논리연산자 not은 느낌표 ! 를 써서 만들 수 있다.

result = !value;

not연산자는 인수를 하나만 받는다.
1. 피연산자를 불린형 (true/false)로 변환.
2. 1에서 변환 된 값의 역을 반환.

profile
주니어개발자

0개의 댓글