데이터 타입

Enzo·2022년 1월 27일

자바스크립트

목록 보기
4/7

데이터 타입

  • 값의 종류

자바스크립트(ES6)는 7개의 데이터 타입을 제공한다. 7개의 데이터 타입은 원시 타입과 객체 타입으로 분류할 수 있다.

  • 원시타입
    • 숫자 타입 : 숫자, 정수와 실수 구분 없이 하나의 숫자 타입만 존재
    • 문자열 타입 : 문자열
    • 불리언 타입 : 논리적 참(true)과 거짓(false)
    • undefined 타입 : var 키워드로 선언된 변수에 암묵적으로 할당되는 값
    • null 타입 : 값이 없다는 것을 의도적으로 명시할 때 사용하는 값
    • 심벌 타입 : ES6에서 추가된 7번째 타입
  • 객체 타입
    • 객체, 함수, 배열 등

숫자 타입

  • 자바스크립트는 독특하게 하나의 숫자 타입만 존재(정수, 실수 구분 X)
  • ECMAScript 사양에 따르면 숫자 타입의 값은 배정밀도 64비트 부동소수점 형식을 따름
  • 모든 수를 실수처리(정수만 표현하기 위한 데이터 타입이 별도로 존재하지 않음)
  • 정수로 표시되는 수끼리 나누더라도 실수가 나옴
  • 특별한 값도 표현 가능
    • Infinity:양의 무한대
    • -Infinity:음의 무한대
    • NaN: 산술 연산 불가(not-a-number) => 자바스크립트는 대소문자를 구별하기 때문에 정확히 NaN을 표현해야함

문자열 타입

  • 문자열은 0개 이상의 16비트 유니코드 문자(UTF-16)의 집합으로 전 세계 대부분의 문자를 표현 가능
  • 작은따옴표, 큰따옴표, 백틱으로 텍스트를 감싸면 됨
  • 자바스크립트에서 가장 일반적인 표기법은 작은 따옴표

불리언 타입

  • 불리언 타입의 값은 논리적 참, 거짓을 나타내는 true와 false

undefined 타입

  • undefined 타입의 값은 undefined가 유일

  • var 키워드로 선언한 변수는 암묵적으로 undefined로 초기화

  • 자바스크립트 엔진이 변수를 초기화하는 데 사용하는 undefined를 개발자가 의도적으로 변수에 할당한다면 undefined의 본래 취지와 어긋날뿐더러 혼란을 줄 수 있으므로 권장하지 않음

    null 타입

  • null 타입의 값은 null이 유일

  • 자바스크립트는 대소문자를 구별하므로 null은 Null,NULL 등과 다름

  • 프로그래밍 언어에서 null은 변수에 값이 없다는 것을 의도적으로 명시할때 사용

  • 변수에 null을 할당하는 것은 변수가 이전에 참조하던 값을 더 이상 참조하지 않겠다는 의미 => 자바스크립트 엔진은 가비지 콜렉션 수행


    심벌타입

  • 심벌은 ES6에서 추가된 7번째 타입으로, 변경 불가능한 원시 타입의 값

  • 심벌 값은 다른 값과 중복 되지 않는 유일무이한 값 => 주로 이름이 충돌할 위험이 없는 객체의 유일한 프로퍼티 키를 만들기 위해 사용

  • Symbol 함수를 호출해 생성

  • 생성된 심벌값은 외부에 노출되지 않으며, 다른 값과 절대 중복되지 않는 유일무이한 값


    동적타이핑

  • 자바스크립트의 변수는 선언이 아닌 할당에 의해 타입이 결정(타입추론)

  • 재할당에 의해 변수의 타입은 언제든지 동적으로 변할 수 있음

  • 높은 유연성과 낮은 신뢰성으로 항상 변수명에 유의하며 변수를 최소한으로 사용하고, 스코프를 최소한으로 유지하는 것이 바람직함

profile
고통수집가

0개의 댓글