자바스크립트 논리값

(2022-09-23)

자바스크립트 논리표현식 평가


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

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

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

  ㅇ 위 경우 이외 모든 경우에는, true로 취급
     -  true
     -  `0 이외 모든` 숫자
     -  `빈 문자열 이외 모든` 문자열 
     -  `null 이외 모든` 객체
     -  `모든` 심볼


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

  ㅇ &&
     - 例) age >= 18 && console.log("게임 허용");  // 성인이면(true), 게임 허용
        . (true) && 반환값 : 첫째 피연산자가 true이면, 둘째 피연산자가 평가됨
     - 例) "cat" && "dog"  // 둘째 피연산자를 평가하며, "dog"을 그대로 출력

  ㅇ ||
     - 例) age >= 18 || console.log("게임 불가");  // 미성년이면(false), 게임 불가
        . (false) || 반환값 : 첫째 피연산자가 false이면, 둘째 피연산자가 평가됨
     - 例) "cat" && "dog"  // 첫째 피연산자를 평가하며, "dog"을 그대로 출력

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

  1. Top (분류 펼침)      :     1,594개 분류    6,533건 해설

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 (차재복)