논리연산자

이홍경·2021년 9월 4일
0
post-thumbnail

논리 연산자(Logical Operator)

💡 연산자의 우선 순위는 ! => && => || 순서 💡

(OR) || (OR)

  • 인수 중 하나만 true이면 true 값을 반환한다.
  • 피연산자가 모두 false 인 경우를 제외하면 모두 true를 반환한다.
  • 가장 왼쪽 부터 오른쪽으로 값을 평가하며, 가장 먼저 만나는 true인 값을 반환한다.
    (boolean값이 아닌 원래 값 반환)
  • truthy값이 하나도 없다면, 가장 오른쪽 값을 반환한다.
null || 2 || undefined // 2
null || 2 && 3 || 4 // 3 ** || 연산자 보다 && 연산자를 먼저 계산
if (-1 || 0) alert( 'first' ); // -1은 truthy 값이라 alert 출력
if (null || -1 && 1) alert( 'third' ); // 위와 같다.
name1 || name2 || name3 || 'default Name' // name은 변수이고 마지막 값은 defaut값임.
// 이렇게 변수가 truthy값이 들어오면 출력 해 주고 아니라면 마지막 값인 default 값을 반환.

(AND) && (AND)

  • 인수 중 하나라도 false라면 false 값을 반환한다.
  • 가장 왼쪽 부터 오른쪽으로 값을 평가하며, 가장 먼저 만나게 되는 falsy값을 반환한다.
  • falsy값이 없다면 가장 마지막 값을 반환한다.
1 && 2 && null && 3 // null
1 && 2 && 3 // 마지막 값인 3
(x > 0) && console.log('양수네?'); // 왼쪽값이 참일때만 콘솔이 출력됨.
1 && null && 2 // null

!(NOT)

  • 피연산자를 boolean값으로 변환한 뒤 그 반대 boolean값을 반환함.
  • !!와 같이 두개의 연산자를 사용하면 값을 boolean 값으로 바꿔 출력한다.(내장 함수 Boolean 사용 결과와 동일함)
  • ! 연산자는 모든 논리 연산자 중 우선순위가 가장 높다.
!0 // true;
!-1 // false
!!null // false
!!-1 // true
!!'hello world' // true
!!'' // false
profile
개발자를 꿈꾸는 자

0개의 댓글