타입이란?
1. Type이란?
자바스크립트에서 타입(Type) 은 한국어로 자료형이라고 합니다. 타입은 다양한 데이터를 용도에 맞게 사용하는 데 필요합니다. 예를 들어, 숫자 1234
는 number 타입이고, 문자 ‘jeju’
는 string 타입입니다. 각각의 데이터 타입은 다른 기능을 지원합니다.
1.1 데이터 타입의 중요성
컴퓨터에 저장되는 값은 모두 2진수로 저장되지만, 숫자와 문자의 +
연산은 다른 결과를 낳습니다. 예를 들어, 숫자끼리 더하면 산술 연산을 하지만, 문자끼리 더하면 문자열을 연결합니다. 즉, 타입은 데이터가 어떻게 처리될지를 결정합니다.
동적 타입 언어
자바스크립트는 동적 타입 언어로 변수를 선언할 때 타입을 지정하지 않습니다. 변수에 값을 할당할 때 그 값의 타입에 따라 자동으로 타입이 결정됩니다.
1.2 타입 확인하기
타입을 확인하기 위해 자바스크립트에서 typeof
연산자를 사용할 수 있습니다.
하지만 배열과 같은 자료형은 typeof
로 확인할 때 정확하지 않을 수 있습니다. 이는 자바스크립트에서는 배열이 객체로 인식되기 때문입니다.
이렇게 타입을 알기 위한 typeof
연산자가 정확하게 그 타입을 알려주지 않기 때문에 더 정확한 방법이 필요합니다. 이를 위해 Object.prototype.toString.call
을 사용합니다.
타입 체크에 관한 더 자세한 내용은 다음 링크를 참고해주세요
type을 체크하는 여러가지 방법2. 타입의 종류
자바스크립트의 데이터 타입은 크게 두 가지로 나눌 수 있습니다.
- 원시타입 (Primitive types): 가장 기본적인 데이터 타입으로, 단일 값을 저장합니다.
- 참조타입 (Reference types): 여러 속성들의 집합을 나타냅니다. 여러 값들을 저장할 수 있습니다.
2.1 원시타입
원시타입은 가장 기본적인 데이터 타입으로, 단일 값을 저장합니다. 원시타입에는 다음과 같은 타입들이 있습니다.
-
숫자 (Number): 숫자를 나타냅니다.
let age = 25; // Number 타입
let age = 25; // Number 타입
-
문자열 (String): 텍스트를 나타냅니다.
let name = 'licat'; // String 타입
let name = 'licat'; // String 타입
-
불리언 (Boolean): 참(true) 또는 거짓(false)을 나타냅니다.
let isStudent = true; // Boolean 타입
let isStudent = true; // Boolean 타입
-
심볼 (Symbol): 고유한 식별자를 나타냅니다.
let uniqueId = Symbol('id'); // Symbol 타입
let uniqueId = Symbol('id'); // Symbol 타입
-
undefined: 변수가 값을 갖고 있지 않음을 나타냅니다.
let value; // undefined 타입 (값이 할당되지 않음)
let value; // undefined 타입 (값이 할당되지 않음)
-
null: 값이 없음을 나타냅니다.
let emptyValue = null; // null 타입 (의도적으로 값이 없음)
let emptyValue = null; // null 타입 (의도적으로 값이 없음)
2.2 참조타입
참조타입은 여러 속성들의 집합을 나타냅니다. 여러 값들을 저장할 수 있습니다.
-
객체 (Object): 키-값 쌍을 저장합니다.
let person = { name: 'Bob', age: 30, }; // Object 타입
let person = { name: 'Bob', age: 30, }; // Object 타입
-
배열 (Array): 순서가 있는 리스트를 저장합니다.
let numbers = [1, 2, 3, 4, 5]; // Array 타입
let numbers = [1, 2, 3, 4, 5]; // Array 타입
-
함수 (Function): 실행 가능한 코드를 저장합니다.
function greet() { console.log('Hello, world!'); } // Function 타입
function greet() { console.log('Hello, world!'); } // Function 타입
원시타입은 한 번 설정되면 변경되지 않는 단순한 값들을 저장하는 반면, 참조타입은 더 복잡한 데이터 구조를 저장하며, 객체, 배열, 함수 등이 포함됩니다.