자바스크립트 타입 구분

(2021-02-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) : 숫자가 아니거나, 계산 불능
  ㅇ 숫자 관련 객체Number 객체,Math 객체 참조


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

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

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


5. undefined 타입 (undefined)

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

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

  ※ 한편, 상수 선언 지시자 const로 초기화된 상수값에 대한 타입은 `undefined` 임
     - 例) typeof unkownConstant => `undefined`


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 논리값 타입 평가  


Copyrightⓒ written by 차재복 (Cha Jae Bok)               기술용어해설 후원
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"