[Typescript] 타입스크립트 기본 타입

HongDuHyeon·2022년 7월 17일
1
post-thumbnail
post-custom-banner
키보드는 역시 갈축

타입스크립트의 기본타입

타입스크립트로 변수나 함수와 같은 자바스크립트 코드에 타입을 정의할 수 있다.
12가지가 있는데 한번 확인해보자 !

들어가기 앞서...

팁 아닌 팁인데 타입스크립트에서 변수 옆에 : 을 이용하여 자바스크립트 코드에 타입을 정의하는 방식을 타입표기(Type Annotation) 라고 합니다잉 !

String

자바스크립트 변수의 타입이 문자열인 경우 아래와 같이 선언한다.

let str: string = "DuHyeon";

Number

타입이 숫자이면 아래와 같이 선언한다.
TMI: 내 입대 날짜

let num: number = 151208;

Boolean

타입이 참/거짓 값이면 아래와 같이 선언한다.

let isLoggedIn: boolean = false;

Array

타입이 배열인 경우 아래와 같이 선언한다.

let arr: number[] = [1,2,3];

또는 아래와 같이 제네릭을 사용할 수 있다.

let arr: Array[number] = [1,2,3];

Tuple

튜플이란 배열의 길이가 고정되고 각요소의 타입이 지정되어 있는 배열 형식을 의미한다.

let arr: [string,number] = ['hello world, 10];

만약 정의하지 않은 타입, 인덱스로 접근할 경우 오류가 난다.

arr.[1].concat('!'); //Error, 'number' does not have 'concat'
arr.[5].'hello'; // Error, Property '5' does not exist on type '[string, number]'.

Enum

이넘은 C, Java와 같은 다른 언어에서 흔하게 쓰이는 타입으로 특정 값(상수)들의 집합을 의미합니다.

enum Avengers { Capt, IronMan, Thor }
let hero: Avengers = Avengers.Capt;

이넘은 인덱스 번호로도 접근할 수 있다.

enum Avengers { Capt, IronMan, Thor }
let hero: Avengers = Avengers[0];

만약 원한다면 이넘의 인덱스를 사용자 편의로 변경하여 사용할 수도 있다.

enum Avengers { Capt = 2, IronMan, Thor }
let hero: Avengers = Avengers[2]; // Capt
let hero: Avengers = Avengers[4]; // Thor

Any

기존에 자바스크립트로 구현되어 있는 웹 서비스 코드에 타입스크립트를 점진적으로 적용할 때 활용하면 좋은 타입이다. 단어 의미 그대로 모든 타입에 대해서 허용한다는 의미를 갖고 있다.

let str: any = 'hi';
let num: any = 10;
let arr: any = ['a', 2, true];

하지만 Any를 쓸거면 타입스크립트를 쓰는데에 이유가 없다고 하는 얘기를 많이 들어서 어떻게든 타입을 지정하려 노력하는중,,,

Void

변수에는 undefinednull만 할당하고, 함수에는 반환 값을 설정할 수 없는 타입입니다.

let unuseful: void = undefined;
function notuse(): void {
  console.log('sth');
}

Never

함수의 끝에 절대 도달하지 않는다는 의미를 지닌 타입입니다.

// 이 함수는 절대 함수의 끝까지 실행되지 않는다는 의미
function neverEnd(): never {
  while (true) {

  }
}
profile
마음이 시키는 프론트엔드.. RN과 IOS를 곁들인..
post-custom-banner

0개의 댓글