[TypeScript] 타입스크립트 기본


JavaScript는 원래 클라이언트 측 언어로 도입됐다.

그런데 Node.js의 개발로 인해 JavaScript를 클라이언트 측 뿐만이 아닌 서버 측 기술로도 활용되게 되었다.

그러나 JavaScripy 코드가 커질 수록 소스 코드가 더 복잡해져서 코드를 유지 관리하고 재사용하기가 어려워졌다.

더욱이, Type 검사 및 컴파일 시 오류 검사의 기능을 수용하지 못하기 때문에

JavaScript가 본격적인 서버 측 기술로 엔터프라이즈 수준에서 성공하지 못한다.

이 간극을 해소하고자 TypeScript가 나오게 되었다.

TypeScript란?


타입스크립트는 자바스크립트에 타입을 부여한 언어이다.

타입스크립트는 자바스크립트와 달리 브라우저에서 실행하려면 파일을 한번 컴파일 해주어야 한다.

TypeScript를 사용하는 이유?


  • 타입스크립트는 자바스크립트를 단순화하여 더 쉽게 읽고 디버그 할 수 있도록 도와준다.
  • 타입스크립트는 오픈소스이다.
  • 타입스크립트를 사용하면 코드를 더 쉽게 읽고 이해할 수 있다.
  • 타입스크립트는 ES6의 모든 이점과 더 많은 생산성을 제공한다.
  • 타입스크립트는 코드 유형 검사를 통해 자바스크립트를 작성할 때 개발자가 일반적으로 겪는 버그를 피하는데 도움이 된다.


TypeScript의 제공 타입


기본 타입

기본 타입은 아래와 같다.

  • number : 숫자 값
  • boolean : true와 false
  • string : 문자열
  • symbol : 고유한 상수 값
  • undefined : 초기화 되지 않은 기본 값
  • null : 아무것도 없는 경우

그리고 선언 방식은 아래와 같다.

// number, string, etc..
let num: number = 3;
let name: string = "John";

// function
const getNumber: (i: number): void => {
  console.log(i)
}

// array
const arr: string[] = ['a', 'b', 'c']

// class
let music: Music = new Music()

// object
let point: { x:number; y: number} = {x:20, y:10}

Any


앱을 만들 때, 잘 알지 못하는 타입을 표현해야 할 때 사용한다.

이 값들은 사용자로부터 받은 데이터나 서드 파티 라이브러리 같은 동적인 컨텐츠에서 올 수도 있다.

let something: any = "Hello World!";
something = 23;
something = true;

let arr: any[] = ["John", 212, true];
arr.push("Smith");
console.log(arr); [ 'John', 212, true, 'Smith' ]


Union


타입스크립트를 사용하면 변수 또는 합수 매개변수에 대해 둘 이상의 데이터 유형을 사용할 수 있다.

이 때 유니온 타입을 사용한다.

let code: (string | number);
code = 123;
code = "ABC";
code = false; // error

Enum


Enum은 값들의 집합을 명명하고 이를 사용하도록 만든다.

여기서는 PrintMedia라 불리는 집합을 기억하기 어려운 숫자 대신 친숙한 이름으로 사용하기 위해 enum을 활용할 수 있다.

enum PrintMedia {
  Newspaper, //0
  Newsletter,//1
  Magazine,  //2
  Book       //3
}
let mediaType: number = PrintMedia.Book

Object와의 차이점

Object는 이후 객체에 자료 값을 추가할 수 있지만, enum은 그렇지 않다.


Void


Java와 같은 언어와 유사하게 데이터가 없는 경우 사용된다.

예를 들어 함수의 값을 반환하지 않으면 void를 사용하면 된다.

function sayHi(): void {
  console.log('Hi!');
}

let Speech: void = sayHi();
console.log(Speech); //Output : undefined


Never


절대 발생하지 않은 값을 나타내는 Never이다.

즉, 어떤 일이 절대 일어나지 않을 것이라고 확신할 때 사용한다.

일반적으로 함수의 리턴 타입으로 사용된다.

function throwError(errorMsg: string): never {
  throw new Error(errorMsg);
}

© 2022.07. by Wookey_Kim

Powered by Hydejack v7.5.2