728x90
반응형
javascript는 런타임 언어이기에 실제로 코드를 돌려보기 전까지 디버깅이 되지 않습니다. 이런 점에 불편함을 느껴 탄생한 언어가 Typescript입니다. 코드를 돌리 전에도 컴파일이 된 상태이기에 에러에 대한 내용을 바로 알려 줍니다. 물론 javascript를 여태까지 사용한 개발자들에게는 약간 어색할 수는 있지만 Nestjs는 기본적으로 Typescript를 기본 언어로 채택하고 있기에 Nestjs의 장점을 최대한 활용하기 위해서 우리는 Typescript의 기본 문법에 대해 먼저 알고 있어야 합니다.
Typescript는 마이크로소프트에서 개발한 언어입니다. javascript는 타입이 없지만 Typescript는 말 그대로 특정한 타입을 지정할 수 있습니다. 또한 위에서 언급했다시피, 런타임에 에러가 발생할 가능성이 있는 코드를 정적 분석으로 찾을 수 있습니다. 또한 ES6에서 사용된 문법을 포함하고 있으며 클래스, 인터페이스, 상속, 모듈과 같은 객체 지향 프로그래밍 패턴을 제공하고 있습니다.
TypeScript 기본 타입
string
let str: string="Hello world!"
number
let num: number=10;
boolean
let isLoggedIn: boolean=false;
object
let obj: object={};
let obj:{name:string, age:number}={
name:"seungwon",
age:26
}
Array
let arr: number[]=[1,2,3];
let arr: Array<number>=[1,2,3];//제너릭을 사용하여 선언할 수 있다
Tuple
튜플은 배열의 길이가 고정되어있고 각 요소의 타입이 지정된 배열을 뜻합니다.
let arr: [string, number]=["Hello world~!", 10]
enum
흔하게 쓰이는 타입으로 특정한 값들에 대한 집합입니다.
enum Avengers {Capt, IronMan, Thor};
let hero: Avengers=Avengers.Capt;
또한 아래와 같이 인덱스를 사용자의 편의에 맞게 설정할 수도 있습니다.
enum Avengers{ Capts=5, IronMan, Thor}
let hero: Avengers= Avengers[5]// Capts
let hero: Avengers= Avengers[6]//IronMan
let hero: Avengers= Avengers[7]//Thor
any
말 그대로 모든 타입에 대해서 허용하겠다는 뜻입니다.
let str: any="hello world~!";
let num: any=26;
let arr: any=[1, 2, "hi", true];
void
해당 타입에는 undefined와 null만 할당할 수 있으며 함수에는 반환 값을 설정할 수 없는 타입입니다.
let unused: void = undefined;
function nothing: void {
console.log("nothing~!");
}
never
해당 함수가 절대 끝나지 않을 때 사용하는 타입니다.
function neverEnd(): never{
while(true){
// 실행할 내용
}
}
728x90
반응형
'Nestjs' 카테고리의 다른 글
[Nestjs] 2-3. Typescript와 인터페이스 (0) | 2022.03.26 |
---|---|
[Nestjs] 2-2. TypeScript와 함수 (0) | 2022.03.26 |
[Nestjs] 2. Nestjs를 배우기 전에... (0) | 2022.03.20 |
[Nestjs] 1-1. Nestjs에 대하여... (0) | 2022.03.20 |
[Nestjs] 1. 안녕!? Nest.js (0) | 2022.03.20 |