본문 바로가기
개발 언어/자바스크립트 33가지 개념

[JavaScript 33가지 개념] 02. 자바스크립트의 자료형 (Primitive Types 등)

by 우주다람쥐 2021. 5. 13.
반응형

여기서는 자바스크립트의 내장 자료형과, 내장 자료형에서 사용할 수 있는 속성들에 대해 알아본다.

 

1. Dynamic typing (동적 타이핑)

자바스크립트는 동적 (dynamic) 언어이기 때문에 변수의 타입을 미리 선언할 필요가 없다.

타입은 프로그램이 처리되는 과정에서 자동으로 파악되기 때문에 같은 변수에 여러 타입의 값을 넣을 수 있다.

 

var foo = 42;   // foo 는 이제 Number
foo = "bar"; 	// foo 는 이제 String
foo = true;  	// foo 는 이제 Boolean

 

2. Data and Structure types (데이터 타입)

(1) Primitive Types (원시 자료형)

 

6가지 원시 자료형 데이터 타입이 존재한다

 

- Boolean

 

  • Boolean 은 논리적인 요소를 나타내고, true와 false 의 두 가지 값을 가질 수 있다.

 

- Null

 

  • Null 타입은 딱 한 가지 값, null 을 가질 수 있다.
  • 어떤 값이 의도적으로 비어있음을 표현하며 Boolean 연산에서는 false로 취급한다.

 

- Undefined

 

  • 값을 할당하지 않은 변수는 자동으로 undefined 값을 가진다.

 

- Number

 

  • ECMAScript 표준에 따르면, 숫자의 자료형은 배정밀도 64비트 형식 IEEE 754 값 (-2^(53-1) 와 2^*(53 -1) 사이의 숫자값) 단 하나만 존재한다. 
  • 정수만을 표현하기 위한 특별한 자료형은 없다.
  • 그 외에 3가지 상징적인 값들인 +Infinity, -Infinity, and NaN (숫자가 아님)가 있다.
  • Number 타입의 값 중에는 두 가지 방식으로 표현할 수 있는 유일한 값이 있는데, 0 이다. 0 은 -0 이나 +0 으로 표시할 수 있다.
  • 두 값은 동일한 값이나 [EX]와 같이 활용할 수 있다.

 

- String

 

  • 자바스크립트의 String 타입은 텍스트 데이터를 나타내는데 사용한다.
  • 이는 16비트 부호없는 정수 값 요소들의 집합이다.

 

- Symbol

 

  • Symbol 은 ECMAScript 6 에서 추가되었다.
  • Symbol은 유일하고 변경 불가능한 (immutable) 기본값 (primitive value) 이다.
  • 좀 더 자세히 알아보려면, 자바스크립트의  Symbol 와 Symbol 객체 래퍼 (wrapper) 를 보면 된다.

 

- [EX]

const infinityPlus = 42 / +0;
const infinityMinus = 42 / -0;

console.log(infinityPlus);	// Infinity
console.log(infinityMinus);	// -Infinity

 

(2) 객체 (Objects)

 

컴퓨터 과학에서, 객체는 식별자 (Identifier) 로 참조할 수 있는, 메모리에 있는 값이다.

 

- 속성 (Properties)

 

  • 자바스크립트에서, 객체는 속성들을 담고있는 가방 (collection) 으로 볼 수 있다.
  • 객체 리터럴 문법 (object literal syntax) 으로 제한적으로 몇 가지 속성을 초기화할 수 있고, 그러고 나서 속성들을 추가하거나 제거할 수도 있다.
  • 속성 값은 객체를 포함해 어떠한 자료형도 될 수 있고, 그 덕분에  복잡한 데이터 구조를 형성하는게 가능해진다.
  • 속성은 키 (key) 값으로 식별된다. 키 값은 String 이거나 Symbol 값이다.

 

- Dates

 

 

- Arrays

 

  • 배열(Arrays) 는 정수키를 가지는 일련의 값들을 표현하기 위한 오브젝트이다.
  • 배열은 리스트나 집합을 표현하는데 적합하다.

 

- WeakMap, Map, Set

 

  • 표준이 아니지만 ECMAScript 6에서 추가되었다.
  • WeakMap
    • WeakMap 객체는 키가 약하게 참조되는 키/값 쌍의 컬렉션입니다.
    • 키는 객체여야만 하나 값은 임의 값이 될 수 있습니다.
  • Map
    • Map 객체는 키-값 쌍을 저장하며 각 쌍의 삽입 순서도 기억하는 콜렉션입니다. 
    • 아무 값(객체와 원시 값)이라도 키와 값으로 사용할 수 있습니다.
  • Set
    • Set 객체는 자료형에 관계 없이 원시 값과 객체 참조 모두 유일한 값을 저장할 수 있습니다.

 

 

참고 자료

- developer.mozilla.org/ko/docs/Web/JavaScript/Data_structures

 

자바스크립트의 자료형 - JavaScript | MDN

모든 프로그래밍 언어는 내장 자료형이 있지만, 종종 이러한 내장 자료형은 언어마다 다르다. 이 문서에서는 자바스크립트의 내장 자료형과, 내장 자료형에서 사용할 수 있는 속성들에 대해 알

developer.mozilla.org

 

반응형

댓글