너와 나의 프로그래밍

Typescript - Type의 대해 본문

Front-End/TypeScript

Typescript - Type의 대해

Whatever App's 2020. 11. 2. 12:59

 

 

[Typescript] Type의 대해

 

 

 

Typescript의 가장 기본이자 기초적인 Type의 대한 사용법을 간략하게 정리하려고 한다.

 

맨 처음 프로그래밍을 Java로 접하신 분들이라면 빠르게 이해가 갈 수도 있다고 생각한다.

 

Type 선언은 간단해 보이면서도 Typescript로 프로젝트를 개발할 때 굉장히 스트레스가 되기도 한다.

 

마치 애증의 관계가 아닐까 생각든다.

 

대표적인 Type의 종류

 

  1. number : 모든 숫자와 숫자에 적용할 수 있는 모든 연산.(253 이하의 정수만 가능)
  2. string : 문자열 타입.
  3. bigint : number와 같은 정수지만 100이상의 값을 선언 할 때 사용하는 타입.
  4. object : 객체의 대한 타입.
  5. Array : 배열의 대한 타입.
  6. any : 타입들의 어머니. 모든 타입을 선언할 수 있지만 그러면 타입스크립트를 사용하는 의미가 없기 때문에 가급적 사용하지 않는 것이 좋음.
  7. unknown : 어떤 타입인지 모를 때 사용하는 타입.
  8. Boolean : 참(true)/거짓(false)의 타입
  9. 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을 선언할 수 있다.

반응형