자바스크립트 논리값

(2021-04-08)

자바스크립트 논리표현식 평가, Short Circuiting, Short-circuit Evaluation, 숏컷 (지름길), 지름길 평가, 단락 평가

1. [자바스크립트]  논리표현식 평가 규칙

  ㅇ false 로 취급하는 경우
     - false
     - null (빈 객체)
        . null 이외 객체 모두를 true로 취급
     - undefined (미정의 변수)
     - '' "" (빈 문자열)
     - 0 (숫자 영)
     - NaN (숫자가 아님의 특수 기호)

     * 즉, if (변수 또는 표현식)  =>  false 이려면,
        . ① false, ② null, ③ undefined, ④ '', ⑤ 0, ⑥ NaN  =>  6개 모두 가능
           .. 즉, false, null, undefined, '', 0, NaN 은 모두 false로 해석

  ㅇ 위 경우 이외 모든 경우에는, true로 취급


2. [자바스크립트]  비교연산자 (`==`, `===`)의 비교

  ㅇ `==`  :  (표준 동등 연산자, standard equality operator)
     - 아래와 같이, 형변환 및 비교 과정을 함께 수행함
        . 타입이 같고, 값도 같으면 => true
        . 타입이 같고, 값이 틀리면 => false
        . undefined,null은 같은 것으로 봄 (undefined == null) => true
        . 문자열,수치가 함께 있으면, 수치로 형변환한 다음에, 비교 함
           .. 例) 1 == '1'  //  true
        . 논리값일 때, true는 수치 1, false는 수치 0 으로 형변환한 다음에, 비교 함
        . 객체 타입과 원시 타입이 함께 있으면,
          객체를 toString(),valueOf() 메소드형변환한 다음에, 비교 함

  ㅇ `===` :  (완전 일치 연산자, strict equality operator)
     - 형변환을 수행하지 않고, 엄격한 비교 과정을 수행함
        . 따라서, 위 표준동등연산자에서 true 이라도,
                  완전일치연산자에서는 대부분 false 로 평가됨
        . 例) 1 === '1'  //  false,  1 === 1  //  true


3. [자바스크립트]  삼항 연산자조건 연산자 (삼항 연산자) : ` ? : `
     -  [조건식] ? [참일 경우 반환값] : [거짓일 경우 반환값] 
        . 조건식이 true이면, 2번째 피연산자를 값으로 반환, false이면 3번째 피연산자 반환


4. [자바스크립트]  논리연산자(&&,||)에서 숏컷(지름길)논리 표현식에서, 왼쪽->오른쪽 순으로 평가하나,
     - 평가 결과가 중도에 결정되면, 나머지 표현식은 평가하지 않고 건너뛰는 것

  ㅇ (true) && 반환값
     - 例) age >= 18 && console.log("게임 허용"); // 성인이면, 게임 허용

  ㅇ (false) || 반환값 
     - 例) age >= 18 || console.log("게임 불가"); // 미성년이면, 게임 불가


[JS 변수,타입,논리식] 1. JS 변수,타입 2. JS 타입 구분 3. JS 타입 변환 4. JS 논리값 타입 평가

 
        최근수정     요약목록     참고문헌