[Javascript] 데이터 타입

은비·2023년 9월 10일
1

JS_Study

목록 보기
5/18
post-thumbnail

자바 스크립트의 데이터 타입은 primitive type, Object Type으로 분류된다.

🔎 원시 타입 (primitive type, immutable)

  • 변경이 불가능한(immutable) 데이터를 의미한다.

number:

숫자를 나타내는 데이터 타입이다.
정수와 실수 모두를 포함하며, 특별한 값으로 NaN(Not a Number), Infinity, -Infinity 등이 있다.

string:

문자열을 나타내는 데이터 타입이다.
작은따옴표(''), 큰따옴표(""), 백틱(``)으로 표현할 수 있으며, 문자열 내부에서 변수나 표현식을 사용하려면 백틱을 사용하는 템플릿 리터럴 방식을 사용할 수 있다.

boolean:

참(true) 또는 거짓(false)만을 값으로 가지는 데이터 타입이다.

null:

어떤 값이 의도적으로 비어있음을 나타내는 데이터 타입이다.
Null은 오직 'null' 하나의 값을 가진다.

undefined:

변수가 선언되었지만 아직 값이 할당되지 않았음을 나타내는 데이터 타입이다.
Undefined는 'undefined' 하나의 값을 가진다.

bigInt:

매우 큰 정수를 표현하기 위한 데이터 타입이다. 숫자 뒤에 'n'을 붙여서 사용한다.
8바이트보다 더 큰 수를 표현하기 위해 BigInt를 쓴다. (자바스크립트에서 숫자는 8바이트로 잡는다, 소수점도 number로 들어가기 때문이다.)

Symbol:

ES6에서 추가된 7번째 형태로서 변경 불가능하고 고유한 값을 생성할 때 사용한다.

🔎 객체 타입 (Reference type, mutable)

  • 자바스크립트에서 대부분의 것들(함수, 배열 등)은 객체이다.
  • 일반적인 Object 외에도 함수(Function), 배열(Array), 날짜(Date), 정규식(RegExp) 등 다양한 내장 객체가 존재한다.
  • 객체(object)는 개념적으로 이해하면 여러 속성(properties)를 담고 있는 컨테이너라고 볼 수 있다.
    이 속성들은 각각 key-value 형태로 저장된다.
let student = {
    name: "John Doe",
    age: 20,
    grade: "A"
};

/*
위 예제에서 student는 객체이며, name, age, grade는 키이고, 
"John Doe", 20, "A"는 각 키에 대응하는 값이다.
*/

원시 타입과 객체 타입의 주요 차이점 중 하나는 원시 타입은 값 자체가 변경 불가능하다는 것이다.
반면에 객체는 속성을 추가하거나 제거하고 속성의 값을 변경하는 등 객체를 수정할 수 있다.
원시 타입은 값을 직접 비교하는 반면, 객체는 참조를 비교한다는 점이다.
즉, 두 개의 동일한 속성을 가진 두 개의 서로 다른 객체를 만들어도 이들은 서로 다르다고 판단된다.

0개의 댓글

관련 채용 정보