조건문 안에서의 논리연산자, 조건문 밖에서의 논리연산자의 동작 이해하기

유슬기·2023년 3월 31일
0

프론트엔드

목록 보기
62/64

논리연산자

  • 단축평가가 되는 특징이 있다.
  • 조건문 안에서, 밖에서 다르게 동작한다.

1. 조건문 안에서

Boolean 값으로 변환하여 평가함
&& : 모두 true여야 true, 하나라도 false라면 false
|| : 모두 false여야 false, 하나라도 true라면 true

2. 조건문 밖에서

&&:

  • truthy한 경우 설정

  • false인 값을 찾을 때까지 오른쪽으로 평가.

  • false인 값을 만나면 평가 종료, 값을 반환

  • (false인 값을 만나지 못해) 제일 끝까지 평가했다면 제일 끝의 값을 반환

    const zero = 0; // 0은 falsy한 값
    const one = 1;
    const two = 2;
    
    const result1 = one && two && zero; // zero에서 종료 및 해당 값 반환
    const result2 = one && two; // two에서 종료 및 해당 값 반환
    const result3 = one && zero && two; // zero에서 종료 및 해당 값 반환
    
    console.log(result1); // 0
    console.log(result2); // 2
    console.log(result3); // 0
    const user = {
      name: 'noleunja',
      email: null,
    };
    
    user.name && console.log('이름 정보가 있습니다.');
    user.email && console.log('이메일 정보가 있습니다.');
    
    // 이름 정보가 있습니다.

||:

  • falsy한 경우 설정

  • true인 값을 찾을 때까지 오른쪽으로 평가.

  • true인 값을 만나면 평가 종료, 값을 반환

  • 제일 끝까지 평가했다면 제일 끝의 값을 반환

    const user = {
      name: 'noleunja',
      email: null,
    };
    
    user.name || console.log('이름 정보가 없습니다.');
    user.email || console.log('이메일 정보가 없습니다.');
    
    // 이메일 정보가 없습니다.
profile
아무것도 모르는 코린이

0개의 댓글