1. 기본 데이터 타입 (Primitive Types):
number
숫자를 나타내는 데이터 타입입니다. 정수 및 부동 소수점 숫자를 포함합니다.
let num: number = 42;
string
문자열을 나타내는 데이터 타입입니다.
let str: string = "Hello, TypeScript!";
boolean
참(true) 또는 거짓(false)을 나타내는 데이터 타입입니다.
let isTrue: boolean = true;
null과 undefined
null과 undefined는 각각 값이 없음을 나타냅니다.
let nullValue: null = null;
let undefinedValue: undefined = undefined;
symbol
ECMAScript 6에서 도입된 Symbol 데이터 타입으로, 고유하고 변경 불가능한 값을 나타냅니다.
let tuple: [string, number] = ["hello", 42];
let sym: symbol = Symbol("unique");
2. 객체 타입 (Object Types):
object
모든 객체의 부모 타입입니다.
let obj: object = { key: "value" };
array
배열을 나타내는 데이터 타입입니다.
let arr: number[] = [1, 2, 3];
tuple
고정된 요소 수와 각 요소의 타입이 미리 정해진 배열을 나타냅니다.
let tuple: [string, number] = ["hello", 42];
function
함수를 나타내는 데이터 타입입니다.
let myFunction: (param: number) => string = function(x: number): string {
return x.toString();
};
class
클래스를 나타내는 데이터 타입입니다.
class MyClass {
// class definition
}
let myInstance: MyClass = new MyClass();
3. 고급 타입 (Advanced Types):
enum
열거형을 나타내는 데이터 타입으로, 연관된 상징적인 이름을 사용합니다.
enum Direction {
Up,
Down,
Left,
Right,
}
let myDirection: Direction = Direction.Up;
union
여러 타입 중 하나일 수 있는 값을 나타냅니다.
let value: string | number = "hello";
value = 42;
intersection
두 개 이상의 타입을 합쳐 새로운 타입을 생성합니다.
type A = { a: number };
type B = { b: string };
type C = A & B; // 새로운 타입 C는 A와 B의 속성을 모두 가짐
let objC: C = { a: 1, b: "hello" };
type alias
타입에 별칭을 부여하여 재사용성을 높입니다.
type Point = {
x: number;
y: number;
};
let point: Point = { x: 10, y: 20 };
readonly
readonly는 속성 또는 배열 요소에 대한 할당을 변경할 수 없도록 지정하는 키워드입니다. const와는 달리 변수에 대해 사용되지 않고, 객체나 클래스의 속성, 배열의 요소에 사용됩니다.
interface Point {
readonly x: number;
readonly y: number;
}
let point: Point = { x: 10, y: 20 };
// point.x = 30; // 에러: 읽기 전용 속성
'✍️ 스파르타 TIL' 카테고리의 다른 글
[TIL] sparta 55일차 - React-Query 심화 (0) | 2023.12.20 |
---|---|
[TIL] sparta 52일차 - 클래스, 객체 (0) | 2023.12.15 |
[TIL] sparta 49일차 - 스탠다드반 동기부여 특강 + TypeScript (0) | 2023.12.12 |
[TIL] sparta 43일차 - 쿠키, 세션, JWT (0) | 2023.12.04 |
[TIL] sparta 42일차 - Throttle & Debounce (1) | 2023.12.01 |