본문 바로가기
TypeScripte

[TypeScript] TypeScript 기본 & 기본 타입 (2)

by JiaLee0707 2022. 5. 25.
이 글은 udemy의 Typescript 강의를 보고 정리한 글입니다!

강의 링크: https://www.udemy.com/course/best-typescript-21/
소스 코드: https://github.com/Mirim-Study/Typescript

 

섹션 2: TypeScript 기본 & 기본 타입 (16 ~ 20)

 

Core Types

4. object (객체)

중괄호 안에 키 값 쌍을 넣는 방식이다.

ex) {age: 30}

const person = {
      name: 'Maximilian',
      age: 30
};

 

객체 타입

(타입스크립트가 추론한 객체 타입이기도 하다.)

객체를 생성할 때는 라인마다 ,를 붙여주지만

타입을 입력할 때는 라인마다 ;를 붙여줘야 한다.

const person: {
      name: string;
      age: number;
};

 

중첩된 객체 및 타입

객체 타입 안에 객체 타입이 있는 중첩 객체도 생성할 수 있다.

const product = {
   id: 'abc1',
   price: 12.99,
   tags: ['great-offer', 'hot-and-new'],
   details: {
      title: 'Red Carpet',
      description: 'A great carpet - almost brand-new!'
   }
}
// 위 객체의 타입
{
   id: string;
   price: number;
   tags: string[];
   details: {
      title: string;
      description: string
   }
}

 

5. Array (배열)

문자열, 불리언, 객체, 배열 없이 데이터를 저장할 수 있다.

중첩 배열을 입력할 수도 있고 데이터를 혼합( [문자열, 숫자, 불리언] )할 수도 있습니다.

배열의 타입을 유연하게도 제한적으로도 지정할 수 있습니다.

ex) [1,2,3]

let favoriteActivities: string[];
favoriteActivities = ['Sports'];

// favoriteActivities = 'Sports'; // ERROR (string타입 배열인데 문자열이어서)
// favoriteActivities = ['Sports', 1]; // ERROR (string타입 배열에 number타입인 1이 들어가서)

Array 타입

'데이터 타입'[]

ex) number[], boolean[]

 

any

['Sports', 1]와 같이 혼합된 배열을 작동하고자 한다면 any 타입을 이용해서 할 수 있다.

any는 아주 유연하지만 유연성은 모든 장점, 타입, 좋은 기능들을 활용하지 못하게 할 수 있어서

자주 사용할 타입은 아니다.

 

 

6. Tuple (튜플)

배열이지만 길이와 타입이 고정된 배열이다.

ex) [1, 2]

const person: {
      name: string;
      age: number;
      hobbies: string[];
      role: [number, string];
} = {
      name: 'Maximilian',
      age: 30,
      hobbies: ['Sports', 'Cooking'],
      role: [2, 'author']
};

Tuple 타입

Tuple은 Array와 생성 방법이 같기 때문에 타입을 지정하지 않으면 

타입스크립트가 Union(공용체) 타입으로 추론을 한다.

 

 

7. enum (열거형)

식별자들을 중괄호 쌍 안에 넣는 방식입니다.

우리가 코드 내에서 작업 가능한 인간이 읽을 수 있는 라벨을 입력하고,

라벨들은 값을 지정하지 않으면 0부터 시작하여 값을 증가시킨다.

값 지정도 숫자형, 문자열 등 혼합이 가능하다.

ex) enum { NEW, OLD }

enum Role { ADMIN, READ_ONLY, AUTHOR } // 0, 1, 2
enum Role { ADMIN = 5, READ_ONLY, AUTHOR } // 5, 6, 7
enum Role { ADMIN = 'ADMIN', READ_ONLY = 100, AUTHOR = 'AUTHOR' }

 

'TypeScripte' 카테고리의 다른 글

[TypeScript] TypeScript 기본 & 기본 타입 (1)  (0) 2022.05.18
[TypeScript] TypeScript 시작하기  (0) 2022.05.11

댓글