TypeScript 이란?
- 2012년 마이크로소프트가 발표한 타입스크립트(TypeScript)는 자바스크립트(JavaScript)를 기반으로 정적 타입 문법을 추가한 프로그래밍 언어
특징
- 컴파일 언어, 정적 타입 언어 : 코드 작성 단계에서 타입을 체크해 오류를 확인할 수 있고 미리 타입을 결정하기 때문에 실행 속도가 매우 빠르다는 장점이 있다. 하지만 코드량이 증가하며 컴파일 시간이 오래 걸린다는 단점도 존재.
- 자바스크립트 슈퍼셋(Superset) : 자바스크립트 기본 문법에 타입스크립트의 문법을 추가한 언어, 자바스크립트로 작성한 코드는 확장자를 .js에서 .ts로 변경하고 타입스크립트로 컴파일해 변환할 수 있다.
- 객체 지향 프로그래밍 지원 : 타입스크립트는 ES6(ECMAScript 6)에서 새롭게 사용된 문법을 포함하고 있으며 클래스, 인터페이스, 상속, 모듈 등과 같은 객체 지향 프로그래밍 패턴을 제공한다.
장점
- 높은 수준의 코드 탐색과 디버깅 : 코드에 목적을 명시하고 목적에 맞지 않는 타입의 변수나 함수들에서 에러를 발생시켜 버그를 사전에 제거한다. 작업과 동시에 디버깅이 가능해 생산성을 높일 수 있다.
- 점진적 전환 가능 : 기존의 자바스크립트 프로젝트를 타입스크립트로 전환하는데 부담이 있다면 추가 기능이나 특정 기능에만 타입스크립트를 도입함으로써 프로젝트를 점진적으로 전환할 수 있다.
문법
- 기본 타입 : Boolean, Number, String, Object, Array, Tuple, Enum, Any, Void, Null, Undefined
//변수에 타입 설정
let str: string = 'hi';
let num: number = 100;
let arr: Array = [1, 2, 3];
let arr2: number[] = [1, 2, 3];
//변수에 타입 설정
function add(a: number, b: number): number {
return a+b;
}
//인터페이스 설정
var person: User = {
age: 30,
name: 'aa'
}
function getUser(user: User) {
console.log(user);
}
자세한 사항은 아래 참조
https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html
'Angular' 카테고리의 다른 글
Angular 유닛 테스트: Jasmine vs Jest 비교 (0) | 2023.05.23 |
---|---|
Angular - RxJS 란? (0) | 2023.03.29 |
Angular 란? (0) | 2023.03.14 |
Angular - NgRx란? (0) | 2023.03.08 |
Angular - ngrx in State (3) router-store&Entity& component-store (0) | 2023.03.08 |