개발자_이훈규
천천히, 빠르게. 개발자의 Repository
개발자_이훈규
전체 방문자
오늘
어제
  • 분류 전체보기 (473)
    • 티스토리 (4)
    • 개발자 뉴스 (2)
    • 소프트웨어 (203)
      • C (7)
      • c++ (25)
      • Objective-C (3)
      • Do it! 반응형 웹디자인 (4)
      • openGL (8)
      • Java (24)
      • Jni (3)
      • Android (9)
      • Wordpress (2)
      • 버그 만난 후 느낀점 (2)
      • Git (3)
      • node js (2)
      • window tablet (1)
      • HTML (3)
      • javascript (3)
      • perl (1)
      • AngularJS (0)
      • JSON (0)
      • Docker (3)
      • python (5)
      • jQuery (1)
      • MFC (4)
      • cocos studio (6)
      • Golang (1)
      • SQLite3 (0)
      • Spring Boot (8)
      • thymeleaf (0)
      • Django (0)
      • iOS (3)
      • skia (0)
      • VBA (0)
      • PHP (2)
      • Oracle (1)
      • JSP (0)
      • R (0)
    • TCP IP (2)
    • 금융 (0)
      • 금융 Study (0)
      • 금융 Archive (0)
      • 금융 Article (0)
    • 개인 프로젝트 (7)
      • gif 홈페이지 만들기 (0)
      • study app만들기 (0)
      • 크롤러 만들기 (1)
      • 카툰 홈페이지 만들기 (1)
      • 외주 홈페이지 만들기 (3)
      • 웹 홈페이지 만들기 (0)
      • 미디어 서버 만들기 (0)
      • 소개팅 어플 만들기 (0)
      • 인스타그램 풀스택 클론 코딩(인강 노트) (0)
      • 주식 모의거래 만들기 (1)
    • html php mysql (0)
    • node.Js (2)
    • 일상 (2)
    • 빈공간 uml 공부 (0)
    • Ubuntu(linux) (12)
    • 맥OS (10)
      • android 설치하기 (2)
    • Programming quizzes (0)
    • IoT (구 유비쿼터스) (16)
      • 라즈베리 파이 (11)
      • 아두이노 (5)
    • 하드웨어 (5)
      • 아수스 비보탭 노트8 asus vivotap no.. (2)
      • 크레마 카르타 (3)
    • 분석할 문장, 구문, 코드 (0)
    • 키보드 (1)
      • 해피해킹 (1)
    • 코드 라이언 (0)
    • 전자기기 (4)
    • Ted (0)
    • NAS (0)
    • 알고리즘 (0)
    • 연합인포맥스 (0)
    • 이벤트 응모함 (4)

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 우분투
  • 설명
  • 라즈베리 파이
  • 개발
  • GIT
  • 소스
  • 코드
  • Java
  • Example
  • 방법
  • error
  • 에러
  • install
  • 설치
  • C
  • Python
  • CODE
  • C++
  • 예제
  • ubuntu

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
개발자_이훈규

천천히, 빠르게. 개발자의 Repository

Typescript, Hello world!
카테고리 없음

Typescript, Hello world!

2020. 5. 15. 15:41

 

 

Typescript, Hello world!

 

Environment

install typescript compiler(실은 Transpiling, 변환)

$ npm install -g typescript
$ tsc -v
Version 3.9.2

$ node -v
v10.15.3

 

 

Ch 1. Transpiling

tsc 을 이용해서 ts파일을 js파일로 변환시킨다.

person.ts file 작성

class Person {
    private name: string;

    constructor(name: string) {
        this.name = name;
    }

    sayHello() {
        return "Hello, " + this.name;
    }
}

const person = new Person("Lee");

console.log(person.sayHello());

 

tsc로 트랜스파일링 (default : ES3)

$ tsc person

 

결과 확인
var Person = /** @class */ (function () {
    function Person(name) {
        this.name = name;
    }
    Person.prototype.sayHello = function () {
        return "Hello, " + this.name;
    };
    return Person;
}());
var person = new Person("Lee");
console.log(person.sayHello());

 

tsc로 트랜스파일링 (ES6)

$ tsc person -t ES2015

 

결과 확인
class Person {
    constructor(name) {
        this.name = name;
    }
    sayHello() {
        return "Hello, " + this.name;
    }
}
const person = new Person("Lee");
console.log(person.sayHello());

 

결과 실행

$ node person
Hello, Lee

 

 

Ch 2. config file

tsc옵션 설정 파일을 생성하여 트랜스파일링을 자동화한다.

$ tsc --init
message TS6071: Successfully created a tsconfig.json file.

 

tsconfig.json을 이용하려면 명령어를 tsc만 입력해야한다.

$ tsc

 

tsc 명령어만 사용하면 여러 파일을 동시에 트랜스파일링 할 수 있다.

 

ch 3. 여러 파일 tsc

파일 작성

// person.ts
export class Person {
    protected name: string;

    constructor(name: string) {
        this.name = name;
    }

    sayHello() {
        return "Hello, " + this.name;
    }
}
// stuent.ts
import { Person } from './person';

class Student extends Person {
    study(): string {
        return `${this.name} is studying.`;
    }
}

const student = new Student('Lee');

console.log(student.sayHello());
console.log(student.study());

 

트랜스파일링

$ tsc

 

결과실행

$ node student
Hello, Lee
Lee is studying.

 

 

ch 4. 변경 감지하여 자동 트랜스파일링, Hot-transpiling(?)

$ tsc --watch
[15:20:35] Starting compilation in watch mode...

[15:20:35] Found 0 errors. Watching for file changes.

[15:20:44] File change detected. Starting incremental compilation...

[15:20:44] Found 0 errors. Watching for file changes.

 

혹은

// tsconfig.json파일 안에 watch 추가

    ....
    "forceConsistentCasingInFileNames": true,
    "watch": true
  }
}
$ tsc

 

 

코드

https://github.com/leehunkyu00/typescript-tutorial

저작자표시 (새창열림)
    개발자_이훈규
    개발자_이훈규
    혼자 꽁양꽁양 개발하면서 놀아요~ - 노트같은 블로그

    티스토리툴바