#5 TypeScript Blockchain

Haizel·2023년 4월 17일
0

🆃 TypeScript

목록 보기
4/4
post-thumbnail

💡 타입스크립트 + 자바스크립트를 혼용해 사용하고 싶다면?

  • tsconfig.json 파일에 allowJS : true를 추가한다.
{
...
"compilerOptions" : {
...
"lib" : ["ES6", "dom"], //<-- ES6를 지원하는 서버와, DOM 즉 브라우저 환경에서 코드를 실행시킬거라는 의미
"allowJs" : true
	}
}

💡JS 코드를 타입스크립트 파일에서 Import할 때, JS로 작성한 코드도 타입스크립트의 보호를 받게 하고 싶다면?

  • @ts-check 아래 코멘트를 작성하면 → JS 파일의 코드에 대해서도 타입을 지정할 수 있다.
/* ---- JS 파일 ---- */

//@ts-check
//*
* Initializes the project //함수에 대한 설명
* @param {object} config
* @param {boolean} config.debug
* @param {string} config.url
* retuns boolean
*/

export function init(config) {
	return true;
}
 

이는 매우 혁신적인 방법인데, 만약 여러 사람과 협업을 하거나, 기존에 있는 JS 파일을 TS 프로젝트에서 import 해서 사용하고 싶다면 → 기존 JS 코드를 모두 TS 코드로 바꿀 필요 없이 위와 같이 코멘트만 작성하면 JS 코드에 대해서도 타입을 지정할 수 있고 && 타입 스크립트의 보호도 받을 수 있다.


💡 npm i -D ts-node

  • ts-node 를 설치하면 빌드 없이 타입 스크립트를 실행할 수 있다.

💡 타입 스크립트로 작성되지 않은 패키지를 받았을 때, 타입의 정의가 하나도 없다면 어떻게 해야할까?

  1. DefinitelyTyped에서 해당 모듈/패키지 있는지 확인

    • NPM으로 설치할 수 있는 Node.js 모듈의 타입 모음집
  2. @types/패키지 설치

npm i -D @types/패키지 이름

//ex)expess라면
npm i -D @types/express

→ 설치하는 것만으로도 해당 패키지의 모든 타입에 대해 정의한 것을 사용할 수 있다.

profile
한입 크기로 베어먹는 개발지식 🍰

0개의 댓글