JavaScript의 데이터 타입은 크게 기본 자료형(Primitive Types)과 참조 자료형(Reference Types)으로 나눌 수 있습니다. 기본 자료형은 값을 직접 저장하는 타입이고, 참조 자료형은 객체로서 메모리 주소를 참조하는 방식으로 저장합니다. JavaScript의 동적 타입 특성 덕분에 변수에 데이터 타입을 명시적으로 선언하지 않아도 되지만, 각 타입을 이해하는 것은 정확한 코드를 작성하는 데 필수적입니다.
기본 자료형은 JavaScript에서 불변(immutable) 값을 갖는 단순한 데이터 타입입니다. 기본 자료형은 메모리 상에 값을 그대로 저장하며, 값이 변경되면 새로운 메모리 공간을 할당합니다.
1.1 숫자 (Number)
let intNumber = 10; // 정수
let floatNumber = 3.14; // 실수
let notANumber = NaN; // 숫자가 아님
let infinity = Infinity; // 양의 무한대
let greeting = "안녕하세요"; // 큰따옴표
let response = '반갑습니다'; // 작은따옴표
let template = 환영합니다, ${greeting}; // 템플릿 리터럴 (문자열 내 변수 삽입 가능)
1.3 불리언 (Boolean)
true
와 false
두 가지 값만 가집니다.true
)과 거짓(false
)을 나타낼 때 사용됩니다.let isJavaScriptFun = true;
let isJavaScriptHard = false;
1.4 심볼 (Symbol)
let uniqueID = Symbol("id");
1.5 null과 undefined
let emptyValue = null; // 값이 없는 상태
let uninitialized; // 선언만 된 상태
참조 자료형은 객체(Object)를 기반으로 하며, 메모리 주소를 참조하는 방식으로 데이터를 저장합니다. 참조 자료형은 변수에 값이 아닌 주소를 저장하며, 그 주소를 통해 실제 값을 참조합니다.
{}
로 정의합니다. 속성은 키-값 쌍으로 구성되며, 키에는 기본적으로 문자열 또는 Symbol이 사용됩니다.let person = {
name: "홍길동",
age: 30,
greet: function() {
console.log("안녕하세요!");
}
};
2.2 배열 (Array)
let numbers = [1, 2, 3, 4, 5];
2.3 함수 (Function)
function add(a, b) {
return a + b;
}
2.4 날짜 (Date)
let today = new Date();
2.5 정규 표현식 (RegExp)
let pattern = /hello/;
JavaScript는 동적 타입 언어이므로 자동 형 변환이 일어날 수 있습니다. 예를 들어, 숫자와 문자열이 함께 사용될 경우 JavaScript는 숫자를 문자열로 변환합니다. 그러나 개발자가 명시적으로 변환을 지정하는 것이 좋습니다.
1. 문자열 변환
String()
함수를 사용하여 다른 데이터 타입을 문자열로 변환할 수 있습니다. let num = 123;
let str = String(num); // "123"
2. 숫자 변환
Number()
함수를 사용하여 문자열이나 불리언을 숫자로 변환할 수 있습니다. let str = "123";
let num = Number(str); // 123
3. 불리언 변환
Boolean()
함수를 사용하여 값을 불리언으로 변환할 수 있습니다. 빈 문자열, 0, null
, undefined
, NaN
은 false
로 평가되고, 그 외 값은 true
로 평가됩니다.
let val = "";
let bool = Boolean(val); // false
1. MDN 웹 문서 - JavaScript 데이터 타입과 자료 구조