[TypeScript] 타입 선언 및 종류

MinJae·2024년 12월 5일
0

TypeScript

목록 보기
3/6

1. 배열 (Array)

타입스크립트에서 배열 타입을 다룰 때는 타입 뒤에 [] 를 붙여주면 됩니다.

let stringArr: string[] = ["Hello","World"];

let mixedArr: (string | number)[] = ["1",2,3];

readonly 키워드를 사용하면 배열의 변경을 방지할 수 있습니다.

const readonlyArr: readonly string[] = ["a", "b", "c"];

2. 객체 (Object)

let person: { name: string; age:number } = {
  name: "MinJae",
  age: 27
};

let optionalPerson: { name: string; age?: number } = {
  name: "MJ"
};

타입을 재사용하기 위해 type이나 interface를 사용하면 유지보수가 편리해집니다.

type Person = { name: string; age?: number };

let person: Person = { name: "MJ", age: 27 };

3. 함수 (Function)

function add(x: number, y:number): number {
  return x + y;
}
![](https://velog.velcdn.com/images/min_jae/post/3d340cc9-ac2b-4777-8155-23671761e3c0/image.png)

const subtract: (a: number, b: number) => number = (a, b) => a - b;

function logMessage(message: string, timestamp?: Date): void {
  console.log(`[${timestamp?.toISOString() || "no timestamp"}] ${message}`);
}

4. 유니언 (Union)

let id: string | number;
id = 'abcd';
id = 1234;

5. 인터페이스 (Interface)

interface는 타입스크립트에서 객체나 클래스를 위한 타입을 정할 때 사용합니다.

interface User {
  id: number;
  name: string;
  email?: string; // 선택적 속성
}

// 객체 사용
let user: User = {
  id: 1,
  name: "Alice",
};

// 인터페이스 확장
interface Admin extends User {
  adminLevel: number;
}

let admin: Admin = {
  id: 2,
  name: "Bob",
  adminLevel: 1,
};

6. 튜플 (Tuple)

let tuple: [string, number, boolean];
tuple = ["hello", 42, true];

// 튜플의 구조 분해
let [greeting, number, isActive] = tuple;

열거형 (Enum)

// 숫자 열거형
enum Direction {
  Up = 1,
  Down,
  Left,
  Right,
}

let move: Direction = Direction.Up;

// 문자열 열거형
enum Status {
  Success = "SUCCESS",
  Failure = "FAILURE",
}

let result: Status = Status.Success;
profile
고양이 간식 사줄려고 개발하는 사람

0개의 댓글