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 관리자 권한으로 실행
2. 명령어로 제한된 실행정책을 바꿔줌
Get-ExecutionPolicy
Set-ExecutionPolicy RemoteSigned
Y
📌 tsc 버전 확인
tsc --version
📌 tsconfig.json
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)
📄 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
자동으로 .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 |