너와 나의 프로그래밍
Typescript - Type의 대해 본문
[Typescript] Type의 대해
Typescript의 가장 기본이자 기초적인 Type의 대한 사용법을 간략하게 정리하려고 한다.
맨 처음 프로그래밍을 Java로 접하신 분들이라면 빠르게 이해가 갈 수도 있다고 생각한다.
Type 선언은 간단해 보이면서도 Typescript로 프로젝트를 개발할 때 굉장히 스트레스가 되기도 한다.
마치 애증의 관계가 아닐까 생각든다.
대표적인 Type의 종류
- number : 모든 숫자와 숫자에 적용할 수 있는 모든 연산.(253 이하의 정수만 가능)
- string : 문자열 타입.
- bigint : number와 같은 정수지만 100이상의 값을 선언 할 때 사용하는 타입.
- object : 객체의 대한 타입.
- Array : 배열의 대한 타입.
- any : 타입들의 어머니. 모든 타입을 선언할 수 있지만 그러면 타입스크립트를 사용하는 의미가 없기 때문에 가급적 사용하지 않는 것이 좋음.
- unknown : 어떤 타입인지 모를 때 사용하는 타입.
- Boolean : 참(true)/거짓(false)의 타입
- symbol : ES2015에 새로 추가된 기능. 맵에서 문자열 키를 대신하는 용도로 사용. (실무에서 별로 사용하지 않음.)
Type의 여러가지 선언 방법
기본적인 Type 선언 방법은 변수 명 뒤에 :Type을 써주면 된다.
// 기본적인 Type선언 방식 let test:number = 0;
해당 변수(test)의 타입은 'number'로 되어있다. 이 값에 다른 타입의 값을 넣으려고 하면 Type 오류를 리턴하게 된다.
타입은 변수와 비슷하게 '별칭'을 만들어 선언 할 수도 있다.
type customNumber = number; let test:customNumber = 123;
먼저 type이라는 명칭과 함께 type 명으로 쓸 별칭을 만들어 주고 값을 type으로 한다.
그 후 변수를 선언해 별칭으로 만든 타입을 선언해 주면 기존 타입과 동일한 결과를 가져올 수 있다.
타입선언은 특이하게 유니온(Union: 합집합)과 인터섹션(Intersection: 교집합) 타입을 지원한다.
말이 조금 어려울 수 있지만 코드를 보면 더욱 쉽게 이해를 할 수 있다.
// Union(합집합) let a: string | number = 'test'; // Intersection(교집합) let b: string & number = 'test';
Union(합집합)은 Or 조건을 사용하여 타입을 선언한다. 말 그대로 a변수의 타입은 string이 될 수도 있고 number 타입이 될 수도 있다. 위 예제코드의 'test'의 값은 타입 오류는 없다.
(교집합은 보통 실무에서 많이 사용하지 않기 때문에 pass...)
또, Typescript는 함수의 return값의 대한 Type도 선언 할 수도 있다.
// number type function test(): number { return 123; } // void type function test2(): void { console.log('test2!!'); }
함수의 리턴 값은 함수 명에 :Type으로 선언할 수 있다. return 값이 void인 함수가 있는데 이 void는 return문을 포함하지 않는 함수의 대한 선언이다. 나머지 type의 대한 선언은 return 값을 통해 type을 선언할 수 있다.
'Front-End > TypeScript' 카테고리의 다른 글
Typescript - 배열 안 타입을 정의하는 방법 (2) | 2020.12.09 |
---|---|
Typescript - 타입스크립트로 개발하기 (2) | 2020.10.27 |
Typescript - 써드파티 라이브러리 타입 정의 방법(.d.ts) (2) | 2020.10.26 |
Typescript - 비동기 함수의 동기식 처리 Async/Await (0) | 2020.05.13 |
Typescript - 비동기 통신 Promise (0) | 2020.05.12 |