javaScript/js.dataType

데이터 타입

자바스크립트의 모든 값은 데이터 타입을 갖는다.
자바스크립트(ES6)는 7개의 데이터 타입을 제공한다.

  • 원시타입 (primitive type)

    • 숫자(number): 숫자, 정수와 실수 구분없이 하나의 숫자 타입만 존재
    • 문자열(string): 문자열
    • 불리언(boolean): 논리적 true, false
    • undefined: var 키워드로 선언된 변수에 암묵적으로 할당되는 값
    • null: 값이 없다는 것을 의도적으로 명시할 때 사용하는 값
    • symbol: 이름의 충돌 위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용
  • 객체타입 (object/reference type)

    • 객체, 함수, 배열 등

number type

  • 모두 실수로 처리

  • Infinity, -Infinity, NaN (not-a-number)

    string type

  • 따움표로 텍스트를 감싼다. (키워드나 식별자와 같은 토큰과 구분하기 위해)

    템플릿 리터럴

  • ES6부터 새로 도입된 문자열 표기법

  • 런타임에 일반 문자열로 변환되어 처리된다.

  • 따옴표 대신 백틱(`)을 사용한다.

boolean type

  • 논리적 참, 거짓을 나타내는 true, false

    undefined type

  • 선언 이후 명시적으로 값을 할당하지 않는 변수는 자바스크립트 엔진의 암묵적 초기화에 의해 undefined 값을 가진다.

  • 선언은 되었지만 아직 값을 할당하지 않는 변수에 접근하면 undefined가 반환

    null type

  • 변수에 값이 없다는 것을 의도적으로 명시할 때 사용
    (의도적 부재 intentional absence)

  • 변수가 이전에 참조하던 값을 더이상 참조하지 않겠다는 뜻

    symbol type (ES6에 추가)

  • 주로 이름의 충돌 위험이 없는 객체의 유일한 프로퍼티 키(property key)를 만들기 위해 사용한다.
    프로퍼티 키(property key)란?

  • 생성된 심볼 값은 노출되지 않으며 다른 값과 절대 중복되지 않는 값이다.

object type

  • 다양한 타입의 값들을 하나의 단위로 구성한 복합적인 자료 구조(Data structure)이다.
  • 객체는 변경 가능한 값(mutable value)이다.

데이터 타입의 필요성

  • 데이터 타입이 필요한 이유
    • 값을 저장할 때 확보해야 하는 메모리 공간의 크기를 결정하기 위해
    • 값을 참조할 떄 한번에 읽어들여야할 메모리 공간의 크기를 결정하기 위해
    • 메모리에서 읽어 들인 2진수를 어떻게 해석할 지를 결정하기 위해
You forgot to set the qrcode for Alipay. Please set it in _config.yml.
You forgot to set the qrcode for Wechat. Please set it in _config.yml.
You forgot to set the business and currency_code for Paypal. Please set it in _config.yml.
You forgot to set the url Patreon. Please set it in _config.yml.
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×