반응형
typescript
: 자바스크립트의 확장판, 자바스크립트를 더 안전하게 사용할 수 있도록 "타입 관련 기능들을 추가한" 언어
- 정적 타입 시스템 : 코드를 실행하기 전에 정적으로 변수의 타입을 결정 (Java), 모든 변수에 일일이 타입을 지정 -> 타이핑 ↑ 유연 ❌
- 동적 타입 시스템 : 코드를 실행하면서 유동적으로 변수의 타입을 결정 (JavaScript), 코드타입 오류를 미리 검사 ❌ -> 오류 발생↑
- 점진적 타입 시스템(Gradual Type System) : (typescript) 실행전 검사를 통한 타입 안정성 확보, 자동으로 변수 타입 추론, 모든 변수에 타입을 일일이 지정할 필요 ❌
동작원리
사람 ------ 프로그래밍 언어 -------- 기계어 ------ 컴퓨터
→
컴파일(Compile) : 컴퓨터가 이해하기 쉬운 형태로 변환
typescript의 컴파일 과정
설치
package-json 초기화 후 설치
npm init
npm i @types/node
타입스크립트 컴파일러 (-g 컴퓨터 전체 설치)
npm install typescript -g
sudo npm install typescript -g // mac
// ts 컴파일러 + node.js
sudo npm install ts-node -g
tsc -v // 버전 확인
tsc src/index.ts(파일 경로) // ts 컴파일
//파일 실행
node src/index.js
ts-node src/index.ts
컴파일러 옵션 설정 (tsconfig.json)
tsc --init
{
"compilerOptions": {
"target": "ESNext", // 자바스크립트 버전("ES5" 화살표 함수 없음)
"module": "ESNext", // 모듈시스템
"outDir": "dist", //컴파일 결과파일 바깥 폴더로 분리
"strict": false, //엄격한 타입 검사
"strictNullChecks": false, // 엄격한 null 검사(strict의 하위옵션)
"moduleDetection": "force" // 자동으로 개별 module 취급
},
"ts-node": {
//ts-node는 CommonJs module을 기본으로 사용
"esm": true
},
"include": ["src"] // 컴파일 할 폴더 설정
}
- package.json 에 "type":"module" 추가
반응형
'Front > typescript' 카테고리의 다른 글
인터페이스 (0) | 2023.08.23 |
---|---|
함수 타입 (0) | 2023.08.22 |
Type 특징 (0) | 2023.08.22 |
type 호환/계층 (0) | 2023.08.22 |
typescript 타입 (0) | 2023.08.21 |