자바스크립트 타입 구분

(2019-09-05)

typeof, undefined

1. 자바스크립트 타입 구분 및 판단하기

  ※ typeof 연산자 적용 결과로, 다음 7개 종류의 타입 구분이 가능
     - string, number, boolean, undefined, object, function, symbol


2. 문자열 타입 (string)                                     ☞ 자바스크립트 문자열 참조

  ㅇ 例) typeof unkownVariable => `string`
  ㅇ 타 언어 처럼 별도의 char 타입이 존재 안함


3. 숫자 타입 (number)                                       ☞ 자바스크립트 수치 활용 참조

  ㅇ 例) typeof unkownVariable => `number`
  ㅇ 타 언어 처럼 실수형,정수형 등으로 구분 않고, 
     - 단순성을 위해 숫자형에 하나의 데이터타입(number 타입) 만 가능
  ㅇ 내부적으로, 8 바이트 (64 비트 부동소수점) 로써 표현
     - 표현 범위 : 1.7976931348623157x10308 ~ 4.940656458412465x10-324
     - 정수 표현 범위 : -253=-9007199254740992 ~ 253=9007199254740992
  ㅇ 특수한 기호 例) typeof 0/0 => NaN (Not-a-Number) : 숫자가 아니거나, 계산 불능


4. 불리언 타입 (boolean)                                      ☞ 자바스크립트 논리값 참조

  ㅇ 例) typeof unkownVariable => `boolean`
  ㅇ 표현식 평가 결과 값이 예약어인 true,false 중 하나로 평가됨

  ※ 한편, 표현식 자체가 다음과 같을 때,
     - 빈 문자열(""),0(숫자 제로),NaN,null,undefined,false 일 때, => false 로 평가됨
     - 그 이외의 것일 때, => true 로 평가됨


5. undefined 타입 (undefined)

  ㅇ 例) typeof unkownVariable => `undefined`
  ㅇ 선언 만 하고, 어떤 값도 대입 않은 경우 (변수 초기화 또는 변수 정의가 안됨)를 나타냄
     - 선언 만 하고, 값을 아직 할당하지 않은 변수의 값
     - 없는 즉, `객체의 빈 프로퍼티`,`배열의 빈 요소`를 읽으려고 시도할 때의 값
     - 아무 것도 반환하지 않은 함수가 반환하는 값
     - 함수를 호출했을 때, 전달 받지 못한 파라미터(인수)의 값

  ※ 한편, null 값은,
     - 아무것도 없음을 값으로 표현한 것 (빈 객체)
        . 통상, 프로그램(함수등)이,
        . 검색후 해당 값을 못 찾았을 때, 메모리 할당 실패시 등에, 넘겨주는(반환) 값
     - 비록, 의미 상으로는 undefined와 같지만, 
        . null 값의 타입은 object 타입으로 판정 함


6. 객체 타입 (object)                                        ☞ 자바스크립트 객체 참조

  ㅇ 例) typeof unkownVariable => `object`
  ㅇ 변수가 `null`, `배열`, `객체` 일 때
     - 한편, null은 빈 객체를 참조하는 특별한 값임


7. 함수 타입 (function)                                      ☞ 자바스크립트 함수 참조

  ㅇ 例) typeof unkownVariable => `function`
  ㅇ 사실상, 자바스크립트 함수는,
     - 그 자신이 객체이며, 다른 객체를 생성할 수 도 있는 특별한 객체이나,
  ㅇ 타입 구분(typeof)은 별도로 'function`으로 표시됨


8. 심볼 타입 (symbol)

  ㅇ 例) typeof Symbol("car") => `symbol`


[JS 변수,타입,논리식] 1. JS 변수,타입 2. JS 타입 구분 3. JS 타입 변환 4. JS 논리값 5. 변수 호이스팅
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
      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.   기술경영

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