자바스크립트 논리값

(2019-04-11)

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

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
        . 문자열,수치가 함께 있으면, 수치로 형변환한 다음에, 비교 함
        . 논리값일 때, true는 수치 1, false는 수치 0 으로 형변환한 다음에, 비교 함
        . 객체 타입과 원시 타입이 함께 있으면,
          객체를 toString(),valueOf() 메소드형변환한 다음에, 비교 함

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


3. 논리연산자(&&,||)에서 숏컷

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

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


[JS 변수,타입] 1. JS 변수,타입 2. JS 타입 구분 3. JS 타입 변환 4. JS 논리값 5. 변수 호이스팅
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
          2. 프로그래밍 기법
      1.   프로그래밍 언어론
      2.   구조적 프로그래밍
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
        2.   C++
        3.   자바(Java)
        4.   자바스크립트
              1. JavaScript
              2. JS 기초 문법
          1.   JS 변수,타입
            1.   1. JS 변수,타입
                2. JS 타입 구분
                3. JS 타입 변환
                4. JS 논리값
                5. 변수 호이스팅
          2.   JS 연산자
          3.   JS 함수
          4.   JS 객체
          5.   JS 배열/Map/Set
          6.   JS 활용
          7.   JS 웹문서 제어
        5.   PHP
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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