[typescript] typescript 기본 개념 및 구조

Hyo Kyun Lee·2021년 9월 14일
0

typescript

목록 보기
1/5

1. typescript 개념

javascript에서 객체 지향 프로그래밍 기능을 강화한 언어

Javscript는 대부분 express와 같이 client의 url 요청(request)와 이에 대한 res으로 이루어진 하나의 promise logic으로 이루어져 있다.

이러한 promise logic의 특징을 가지는 Javscript를, class 기반의 객체 지향 프로그래밍 언어 기능을 제공해주도록 고안된 언어가 바로 typescript이다.

2. vs Javscript

Javascript

  • 엄격한 규칙이 존재하지 않는다(필요 시 strict mode)
  • 사용이 용이하며, 확장 및 수정이 간편하다.
  • 그만큼 버그 관점에서 취약하고, 프로젝트 규모가 커지면 부적합한 언어이다.

typescript

  • Javscript는 동적인 부분이 상당히 강해서 변수를 선언할 때 별도의 type을 기재해주진 않지만(var 등), type script는 별도의 type을 기재해준다.
    → 코드가 예측가능하고 type checking이 가능해진다.
    → 문법에러와 같은 기본적인 오류가 발생하지 않도록 Javscript의 엄격모드가 기본적으로 적용된다.
  • 객체 지향 언어이기 때문에 코드의 캡슐화 등이 가능해지고, 가독성이 증가하거나 읽기가 쉬워진다.
  • node.js는 typescript를 이해하지 못하기 때문에, 일반적인 javscript(index.js 등)로 컴파일을 먼저 하고 그 이후에 실행이 가능하다.
  • 기본적인 typescript 파일은 tsc이다.

3. typescript 기본 구조

package.json

{
  "name": "typescript_blockchain",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js",
    "prestart": "tsc"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "typescript": "^4.4.3"
  }
}

npm start -> index.js를 실행한다.
prestart -> index.js를 실행하기 전에, tsc를 먼저 컴파일하여 실행가능한 환경이 되도록 구성한다.

tsconfig.json

{
    "compilerOptions": {
        "module": "commonjs",
        "target": "ES2015",
        "sourceMap": true
    },
    "include": ["index.ts"],
    "exclude": ["node_modules"]
}

tsc 입력 시 컴파일할 대상의 javascript 파일을 구성한다.

그 이외 compilerOptions를 통해 컴파일 과정에서의 옵션을 구성해준다.

4. 참조링크

typescript vs javscript
https://velog.io/@pluviabc1/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%99%80-%ED%83%80%EC%9E%85%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%B0%A8%EC%9D%B4%EC%A0%90

0개의 댓글