보통 메모리 혹은 디스크에 새로 생성되는 코드나 데이터들이 저장되는데
아래와 같이 계속해서 new ...() 같은 객체를 생성하여 사용하게 되면
API가 호출될때마다 불필요한 메모리가 계속 사용될 수 있다.
이를 해결하기 위해 의존성주입 DI를 활용한다.
아래와 같이 constructor를 통해 의존성 주입을 사용할 수 있다. 이러한 패턴을 싱글톤패턴이라고 하고,
기획이 바뀌어서 현금 결제대신 point로 바뀌었을 때 의존성 주입만 바꿔주면 별다른 코드의 수정없이 재사용 가능
nest.js에서는 의존성주입을 대신 해줌(Inversion Of Controll)
nestjs의 보일러 플레이트(폴더구조)
@ 데코레이터 => 단순 함수
: string 타입스크립트
private, public => public은 class 밖에서도 사용가능 private는 불가능
readonly => class 내부에서나 외부에서나 사용 불가능
자바스크립트에 타입을 강제시킴
let aaa:string = "안녕하세요"
aaa = 123 X
aaa = "123" O
let count = "0"
count = count + 1
if(count<5){
글쓰기
}
문자열 0에 1이 계속 추가되어 5개 이상의 글이 써지는 오류가 생김
"011111111"
타입스크립트를 사용했다면 애초에 막을 수 있었던 에러이다.
서비스의 규모가 클 수록 반드시 타입이 필요하다.
객체의 경우 interface로 타입을 만들어줘야함
interface IProfile {
name: string;
age: number;
}
let profile:IProfile ={ name: "철수" , age: 13}