TypeScript

김다운·2022년 6월 15일
0

타입스크립트란?

-컴파일 언어, 정적 타입 언어

타입스크립트는 자바스크립트에 타입을 부여한 언어이다. 자바스크립트의 확장된 언어라고 볼 수 있고 타입스크립트는 자바스크립트와 달리 브라우저에서 실행하려면 파일을 한번 변환해주어야 한다. 이 변환 과정을 컴파일(complile) 이라고 부른다.

타입스크립트를 사용하는 이유


function sum(a,b) {
  return a+ b;
}
sum("x", "y") //xy

위 코드는 자바스크립트 엔진은 아무런 오류가 없이 코드를 실행하게 될 것이다. 이러한 상황은 자바스크립트의 특징인 동적 타이핑에 의한 것이기 때문에 typescript를 사용하면 오류를 제거할 수 있다.

function sum(a: number, b: number) {
  return a+ b;
}
sum("x", "y") //Error

TypeScript는 정적 타입을 지원하므로 컴파일 단계에서 오류를 포착할 수 있는 장점이 생긴다. 명시적인 타입 지정은 개발자의 의도를 명확하게 코드로 기술할 수 있고, 코드의 가독성을 높이고 예측할 수 있게 하며 디버깅이 쉬워진다.

Typescript

1.Type

타입을 직접 지정해주고 컴파일 시점에 에러를 잡아 낼 수 있다.

const myName: string = "9bin";

만약 변수에 string타입이 아닌 다른 타입을 지정해주면 Error가 발생한다.

2.interface

인터페이스는 일반적으로 타입 체크를 위해 사용되며 typealias와 유사한 기능을 한다. 여러가지 타입을 갖는 프로퍼티로 이루어진 새로운 타입을 정의한다.

export interface Person {
	name: string;
  	age: number;
  	address: string;
}

export를 사용하여 외부 파일에서도 사용할 수 있다.

3.type alias

인터페이스와 비슷한 동작을 하지만 default값을 지정할 수 있다는 점이 다르다. 타입 앨리어스는 extends 나 implements가 될 수 없으므로 상속을 통해 확장이 필요하다면 타입엘리어스보다 인터페이스가 유리하다

 type Person {
	name: string;
  	age: number;
  	address: string;
}

4. generics

제네릭은 타입스크립트에서 함수, 클래스, interface, type을 정의하는 시점에 매개변수나 반환값의 타입을 선언하기 어려운 경우 사용 한다.

function MyParams<T>(param: T) {
	return {param}
}

const params = MyParams(10);
< T > 는 컨벤션이며 제네릭에 해당하는 타입에는 어떤 타입이라도 들어올 수 있게 되며 Myparams는 인수 타입에 의해(number) 타입 매개변수가 결정된다.

0개의 댓글