08-07 라이브러리에는 관대했던 타입스크립트님

Romuru·2022년 8월 7일
0

typescript

목록 보기
4/4

라이브러리에는 관대했던 타입스크립트

타입스크립트 강의를 듣다가 자바스크립트의 타입을 엄격하게 체킹을 하는게 타입스크립트인데
왜 외부코드를 사용하는 라이브러리에는 별다른 오류를 뿜어내지 않는가? 라는 질문을 들었을때는
뭔가 큰걸 놓치고 있었다는 기분이 들었다. 라이브러리라고 해도 결국 다 자바스크립트 파일이었을텐데..

체킹하기

기본적으로 외부 라이브러리에는 신경을 안쓰이게 되어있었다. 만약에 모든 코드를 TS로 작성하고 타입을
지정해줬어야 했다면 TS를 사용하는 모든 JS개발자는 공중재비를 돌았을 것이다.

tsconfig.json 

파일에서

strict : ture

코드를 추가하면 라이브러리도 타입검사가 된다.

그러면 그 라이브러리를 다 쫒아가서 타입을 지정해야하나?

그때 타입스크립트 개발자들의 은혜가 나온다
CRA 이나 Next.js 프로젝트를 TS로 생성하면

아무이름.d.ts

파일이 생성되는데 아무이름.d.ts 파일은 직접 생성할 수도 있고. JS파일을 TS에게 설명해주는 파일이다.

myJsCode.js라는 라이브러리 파일이있고 그 내부가


funcution add(value1, value2){
 return value1 + value2 
}


//
//
// 그리고 대충 몇만줄 되는 코드들
//
//

처럼 되어있다면 myJsCode.js 라는 파일이 거대해서 도저히 TS화 시킬수 없을때 유용할것 같다.

add라는 함수가 필요하다고 가정하면 myJsCode.d.ts파일을 생성하여

declare module "myJsCode" {
function add(value1 : number, value2 : number)  : number

//필요하다면 다른 라이브러리 내부 함수

}

위와 같이 함수를 설명해주면 add함수가 들어있는 myJsCode는 여전히 JS 파일이지만
TS프로젝트 내부에서도 오류를 방지하면서 사용할 수 있다!

기본적으로 TS는 라이브러리의 파일까지 체크하진 않지만 라이브러리의 코드들까지 타입체킹을 하여
개발자경험을 높이기 위해 사용할 수 있겠다.

profile
늘 새로운 호기심을 찾고, 기술적 한계에 도전하고, 하늘색이 잘 어울리는 사람입니다.

0개의 댓글