자료형

김하은·2023년 4월 19일
0

자바스크립트에서 값은 항상 문자열이나 숫자형 같은 특정한 자료형에 속한다.

자료형은 총 8가지가 있다.

  • 숫자형
    정수 및 소수..
    여러 연산이 가능하고, 일반적인 숫자 외에 Infinity, -Infinity, NaN 등 특수 숫자 값이 포함된다.
    - Infinity는 무한대를 말한다.
    (어떤 숫자든 0으로 나누면 무한대.)
    - NaN은 부정확하거나 정의되지 않은 수학연산을 사용할때 반환되는것이다(문자열을 숫자로 나누는 등)
    - NaN에 어떤 추가연산이 들어가던지 그 값은 NaN이다.

  • BigInt(IE를 제외한 곳에서만 지원)
    자바스크립트 내부표현 방식에 의해
    (2의 53제곱 - 1)(9007199254740991) 보다 큰 값
    또는 -(2의 53제곱 - 1) 보다 작은 정수는 숫자형으로는 나타낼 수 없다.
    일반적인 상황에서 사용되지는 않고, 암호관련 작업등 큰 숫자가 필요한 상황에서 아주 높은 정밀도로 작업을 해야 할 때에는 이런 큰 숫자가 필요하다.
    - BigInt 형은 정수형 끝에 123423423423423423n 이렇게 n을 붙이면 만들 수 있다.

  • 문자형
    문자형은 따옴표로 묶어 표기.
    - 큰 따옴표와 작은 따옴표는 기본적인 따옴표로 자바스크립드에서는 둘의 차이는 없다.
    - 역따옴표(벡틱이라고도함)로 변수나 표현식을 감싸고 달러 중괄호 ${} 안에 넣어주면 원하는 변수나 표현식을 문자열 중간에 넣을 수 있음.

  • Boolean형
    논리 타입으로 true, flase 이렇게 두가지 밖에 없는 자료형.

  • null값
    어느 자료형에도 속하지 않으며 null은 오로지 null만 포함하는 별도의 자료형을 만듬.
    - 자바스크립트의 null은 다른언어에서의 null과는 다르다.
    다른 언어에서는 null을 존재하지 않는 객체에 대한 참조, 또는 null pointer을 나타낼때 사용하지만
    지바스크립트에서는 존재하지 않는 값, 비어있는 값, 알 수 없는 값을 나타낼때 사용한다.

  • undefined값
    null처럼 쟈신만의 자료형을 갖는다.
    값이 할당되지 않음을 나타낸다.
    변수는 선언했으나 값이 할당되지 않았다면 undefined가 자동으로 할당된다.

  • 객체형과 심볼형(Object and Symbol)
    - 특수한 자료형
    객체형을 제외하고는 문자열이나 숫자나 한가지만 표현이 가능하기에 원시 자료형이라고 한다.
    그러나 객체는 데이터 컬렉션 등 복잡한 개체를 표현할 수 있다.
    - 심볼형은 객체의 고유한 식별자를 만들때 사용된다.

  • typeof 연산자
    - 이 연산자를 사용할 경우 해당 자료형을 알 수 있다.
    연산자의 경우 typeof x
    함수의 경우 typeof(x)

typeof x 를 호출하면 인수의 자료형을 문자열로 알려준다.

typeof undefined => // "undefined"
typeof 10n => // "bigint"
typeof Symbol("id") => // "symbol"
typeof Math => // "object"
typeof null => // "object"
typeof alert => // "function"

Math는 수학 연산을 제공하는 내장객체이기에 object타입이다.
null의 결과도 object이다. 별도의 고유 자료형을 가져 객체(object)가 아니지만 하위 호환성 유지를 위해 이 오류를 수정하지 않았다. 단지 언어 자체의 오류이지 객체는 아니다.

함수형 이라는 것은 따로 존재하지 않고 객체형에 속한다.

0개의 댓글