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 |
Archives
Tags
- To Do List
- 전자정부프레임워크
- float
- switch
- Openjdk
- 웹디자인 기능사
- 자바
- clear
- mysql
- 자료형
- JS
- Display
- Break Continue
- db
- 로또 번호 생성
- DropDown
- javascript
- 연산자
- 조건문
- react
- position
- vue
- HTML
- do while
- CSS
- overflow
- 자바 환경변수
- Heidi
- 자바 기초
- java
- Today
- Total
잠온다
TS) 기본 타입 및 union, any, unknown type 본문
1. 기본 타입
let name: string = 'kim';
let age: number = 26;
let useAt: boolean = false;
// null, undefined도 가능
let favoriteMovie: string[] = ['이터널 션샤인', '죽은 시인의 사회'];
let info: { name: string, age: number } = { name: 'kim', age: 26 }
=============================================================================================
// 타입스크립트는 변수 생성 시 자동으로 타입을 부여해 주기에 일일이 모두 부여할 필요는 없다.
// 변수 선언만 하고 값을 나중에 할당하여도 자동으로 타입을 부여해 준다.
let name = 'kim';
let age = 26;
let favoriteMovie = ['라라랜드', '소울', '비긴어게인'];
let info = { name: 'kim', age: 26 }
2. union type
// Union type
let size: string | number; // (string | number)와 같이 괄호 가능
size = 10;
size = '10';
// ★값이 할당되는 순간 타입이 해당 타입으로 변환된다.
let arr: (string | number)[] = [1, '2', 3];
let obj: { data: string | number } = { data: 10 }
3. any type
// Any type
let all: any;
all = 'kim';
all = 26;
all = [];
all = undefined;
// 사용 지양. 비상 시 사용
4. unknown type
// Unknown type
let all: unknown;
all = 'kim';
all = 26;
all = [];
all = undefined;
// any와 마찬가지로 모든 타입 할당 가능
// 하지만 값을 할당해도 여전히 타입은 unknown type
all = 'kim';
let poo: string = all // error
// 아래의 경우도 error
let poo: unknown
poo[0];
poo - 1;
poo.data;
5. error case
// case 1
let poo: string | number;
poo + 1; // error
// typescript는 변수의 타입이 확실해야 연산을 수행해준다.
// 특히 '-'의 경우는 number 타입일 때만 가능하다.
// 위 case에서 poo는 string도, number도 아닌 union type이다.
// union type에는 연산을 실행할 수 없다.
=============================================================================================
// case2
let poo: unknown = 1;
poo + 1;
// case2는 poo에 1이라는 number 값이 할당되었더라도
// 타입은 여전히 unknown이기에 연산을 실행할 수 없다.
'Typescript' 카테고리의 다른 글
TS) Typescript로 HTML 변경 및 조작할 때 주의점 (0) | 2022.05.30 |
---|---|
TS) Literal Types / as const (0) | 2022.05.28 |
TS) type alias / readonly / object 옵션 / type 키워드 합치기 (0) | 2022.05.28 |
TS) 함수 타입 지정 및 Type Narrowing (0) | 2022.05.28 |
Typescript 설치 및 설정 (0) | 2022.05.28 |
Comments