Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 자바스크립트
- Dev-Matching
- 프론트엔드
- 파일 url
- redis
- bucket4j
- 프리코스
- AWS
- Deep Dive
- compateto
- 우아한 테크코스
- 검색
- 우아한테크코스
- api 요청 수 제한
- 딥다이브
- this
- 음악 url 파일 다운로드
- api 비동기처리
- NestJS
- 코멘토 #코멘토실무PT #실무PT후기 #실무강의 #리액트강의 #웹프로그래밍 #react #웹개발실무
- invalid_grant
- concurrency limit
- 유효시간 설정 url
- 프론트엔드 과제
- 스프링부트
- 프로그래머스
- 모던 자바스크립트
- TypeORM
- 타입스크립트
- oauth
Archives
- Today
- Total
개발 알다가도 모르겠네요
타입스크립트의 Type Alias 본문
728x90
타입 앨리어스는 새로운 타입을 정의합니다.
interface Person {
name: string,
age?: number
}
// 빈 객체를 Person 타입으로 지정
const person = {} as Person;
person.name = 'Lee';
person.age = 20;
person.address = 'Seoul'; // Error
타입 앨리어스도 인터페이스와 마찬가지로 타입으로 사용할 수 있습니다.
// 타입 앨리어스
type Person = {
name: string,
age?: number
}
// 빈 객체를 Person 타입으로 지정
const person = {} as Person;
person.name = 'Lee';
person.age = 20;
person.address = 'Seoul'; // Error
하지만 타입 앨리어스는 원시값, 유니온 타입, 튜플 등도 타입으로 지정할 수 있습니다.
// 문자열 리터럴로 타입 지정
type Str = 'Lee';
// 유니온 타입으로 타입 지정
type Union = string | null;
// 문자열 유니온 타입으로 타입 지정
type Name = 'Lee' | 'Kim';
// 숫자 리터럴 유니온 타입으로 타입 지정
type Num = 1 | 2 | 3 | 4 | 5;
// 객체 리터럴 유니온 타입으로 타입 지정
type Obj = {a: 1} | {b: 2};
// 함수 유니온 타입으로 타입 지정
type Func = (() => string) | (() => void);
// 인터페이스 유니온 타입으로 타입 지정
type Shape = Square | Rectangle | Circle;
// 튜플로 타입 지정
type Tuple = [string, boolean];
const t: Tuple = ['', '']; // Error
인터페이스 | extends 또는 implements 가능 | 상속을 통해 확장이 필요하다면 인터페이스가 유리 |
타입 | extends 또는 implements 불가능 | 인터페이스로 표현할 수 없거나 유니온 또는 튜플을 사용해야한다면 타입 앨리어스를 사용 |
'웹 > Typescript' 카테고리의 다른 글
null/undefined value 처리 (0) | 2022.08.23 |
---|---|
타입스크립트의 getter/setter (0) | 2022.07.29 |
타입스크립트의 타입 가드 (0) | 2022.06.27 |
타입스크립트의 타입 추론 (0) | 2022.06.19 |
타입스크립트의 Enum (0) | 2022.06.19 |