Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

Leeyanggoo

[JS] 자바스크립트의 자료형을 알아보자! 본문

2023/JavaScript

[JS] 자바스크립트의 자료형을 알아보자!

Leeyanggoo 2023. 2. 20. 15:04

자료형


자바스크립트의 자료형 관계도

프로그래밍 언어에는 내장된 여러 가지 형태의 자료 형태(daya type)가 존재하고 그를 자료형이라고 합니다.

자바스크립트의 자료형은 크게 원시 유형과 객체로 구분할 수 있고, 원시 유형은 다시 6가지로 나눠집니다.

먼저 원시 유형의 숫자형부터 차례대로 알아보겠습니다! :)


원시 유형primitive type

 

원시 유형(원시 값)은 자바스크립트의 기본 타입을 말하며 변형이 불가능한 즉 '불변성'을 지니고 있는 데이터입니다.

원시 유형은 더 이상 단순화할 수 없기 때문에 원시적(primitive)이라고 부릅니다.

let a = 3;
console.log(a); // 3
a = 5;
console.log(a); // 5

언뜻 3이라는 값이 5로 변형했다고 생각할 수 있지만, 데이터 영역에 새로 값 5를 추가하고 a를 이와 연결한 것입니다.

이처럼 원시 유형은 어떤 데이터에 연결될지는 바뀔 수 있지만, 데이터의 값은 바뀌지 않기 때문에 '불변하다'고 합니다.


숫자형Number

 

자바스크립트는 다른 언어와는 달리 정수와 실수를 따로 구분하지 않고, 모든 수를 실수 하나로만 표현합니다.

또한, 매우 큰 수나 매우 작은 수를 표현할 경우에는 e 표기법을 사용할 수 있습니다.

자바스크립트는 숫자 옆에 'e'를 붙이고 0의 개수를 그 옆에 붙여주는 방식을 사용합니다.

let billion = 1e9; = 1000000000		//1억은 1과 9개의 0으로 표현할 수 있다.
let ms = 1e-6; = 0.000001		//e옆의 -는 왼쪽으로 소수점을 6번 이동한 것으로 표현한 것이다.
let Num = 10;				//소수점 X
let NUm = 10.0;				//소수점 O

문자열String

 

자바스크립트에서 문자열은 텍스트 데이터를 의미하며, 큰따옴표("")나 작은따옴표('')로 둘러싸인 문자의 집합입니다.

큰따옴표는 작은따옴표로 둘러싸인 문자열에만 포함될 수 있으며, 작은따옴표는 큰따옴표로 둘러싸인 문자열에만 포함될 수 있습니다.

let T1 = "이건 텍스트 데이터입니다."
let T2 = "10"		// 숫자에도 따음표를 붙이면 문자로서의 "10"을 의미합니다.

논리형Boolean

 

'불리언'이라고 불리는 논리형은 참(true)과 거짓(false)을 표현합니다.

논리형은 다양한 조건문이나 반복문과 함께 사용하는 경우가 많습니다.

let z = 10;
let y = 20;

console.log(z < y);		//true
console.log(z > y);		//false

심벌symbol

 

심벌의 가장 큰 특징은 '유일성'을 보장한다는 점입니다.

let x = Symbol();
let y = Symbol();

x === y		//false

그래서 언뜻 보면 같아 보이는 x와 y도 심벌은 유일한 값이기 때문에 같지 않습니다.

그래서 심벌은 여러 소스를 가져와 작업하는 경우 중복되는 키의 이름이 있을 때 유용하게 쓸 수 있습니다.


undefined

 

undefined는 값이 할당되지 않은 변수의 초깃값입니다.

즉 undefined는 값이자 자료형이라 할 수 있습니다.

let id
console.log(id)		//undefined

이처럼 변수만 선언하고 값을 할당하지 않은 경우 초깃값인 'undefined'가 나타납니다.


null

 

null은 어떠한 값이 의도적으로 비어있거나 유효하지 않은 것을 의미합니다.

let id = null;

이렇게 id의 값으로 null을 입력하는 경우 값은 할당하지만, 유효하지 않은 경우를 뜻합니다.


객체objcet

 

객체란 하나의 변수에 다양한 정보를 포함하는 자료형입니다.

객체는 키(key)와 값(value)으로 만들며, 이들은 객체의 속성(property)이라고 합니다.

let obj = {
	a:100, 
	b:200, 
	c:"javascript"
};

console.log(obj.a);		//100
console.log(obj.b);		//200
console.log(obj.c);		//javascript

객체는 중괄호({}) 안에 정보를 담으며 '키:값'을 한 쌍으로 쉼표로 구분합니다.

위의 예시는 a, b, c라는 키에 100, 200, "javascript"라는 값을 넣고 각각의 키로 호출한 것입니다.

let obj = {
	id: 'Lee'
}
let copy = obj

console.log(copy.id);	//Lee

boj.id = "Kim";		//obj와 copy는 동일한 속성이기 때문에 같은 객체이다.

console.log(copy.id);	//Kim

이처럼 불변하는 원시 유형과 다르게 객체는 속성을 참조하기 때문에 값이 바뀌면 복사한 데이터의 값도 변경됩니다.