본문 바로가기

JavaScript

TypeScript란?

728x90

TypeScript란?

  • 엄격한 문법, JavaScript의 superset(ES5)
  • 자바스크립트에 타입을 부여한 언어(자바스크립트의 확장된 언어)
  • 모든 운영체제, 모든 브라우저, 모든 호스트에서 사용 가능(오픈 소스)
  • 에러 사전 방지
  • 코드 가이드 및 자동 완성으로 개발 생산성 향상

📌 필요 모듈

npm i typescript -g 
npm ls -g

 

📌 오류 발생 

tsc

tsc : File C:\Users\xxxxh\AppData\Roaming\npm\tsc.ps1 cannot be loaded because running scr
ipts is disabled on this system. For more information, see about_Execution_Policies at htt
ps:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ tsc --init
+ ~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

 

 

📌 해결방법

1. Visual Studio Code 관리자 권한으로 실행

window powersell 관리자권한으로 실행

2. 명령어로 제한된 실행정책을 바꿔줌

Get-ExecutionPolicy

Set-ExecutionPolicy RemoteSigned
Y

제한된 권한 변경


📌 tsc 버전 확인

tsc --version

 

📌 tsconfig.json

tsc --init

타입스크립트를 자바스크립트로 변환할 때 설정을 정의해놓은 파일

tsc --init

📄 1st-week/tsconfig.json

{
  "compilerOptions": {
    "lib": ["ES2021", "dom"], 
    // esModuleInterop 속성이 위의 코드 처럼 true로 설정될 경우, ES6 모듈 사양을 준수하여 CommonJS 모듈을 가져올 수 있게 됩니다.
    // e.g. typescript-test.ts => import express from "express"
    "esModuleInterop": true,
    "target": "ES2021",
  }
}

 

참고 : Node Target Mapping · microsoft/TypeScript Wiki (github.com)

 

GitHub - microsoft/TypeScript: TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

TypeScript is a superset of JavaScript that compiles to clean JavaScript output. - GitHub - microsoft/TypeScript: TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

github.com

 

 


📄 math.ts

// math.ts
function sum(a: number, b: number): number {
    return a + b;
  }
  
  sum(10, 20); // 30
  sum('10', '20'); // Argument of type 'string' is not assignable to parameter of type 'number'.ts(2345)

 

📌 실행

node math.js

node math.js

자동으로 .js가 생성됨을 알 수 있다.

 

 

'JavaScript' 카테고리의 다른 글

타입스크립트 기초문법2  (0) 2023.01.18
타입스크립트 기초문법1  (0) 2023.01.17
javascript 구조 분해 할당  (0) 2023.01.16
Web Socket 채팅방 만들기_4  (0) 2023.01.12
Web Socket 채팅방 만들기_3  (0) 2023.01.10