문법은 프로그램을 작성하기 위한 규칙들의 집합이다. 모든 언어 명세서는 해당 언어의 문법을 정의한다. 타입스크립트는 모듈, 함수, 변수, 문장, 표현식, 주석으로 이루어져있다.
비주얼 스튜디오 코드에서 폴더를 하나 만들고 파일을 만든다.
파일 명은 test.ts로 만든다.
코드 안에 console.log('hi');를 입력하고 저장한다.
파일에 마우스를 갖다 대고 오른쪽 마우스 버튼을 누르면 모달이 뜨는데 Open in Terminal(Open in Command Prompt)을 클릭한다. 터미널 창이 하단에 뜨게 되고 거기에 tsc test.ts를 입력한다. 시간이 좀 흐르면 test.js 파일이 생성된 것을 볼 수 있다. 타입스크립트 파일이 컴파일러에 의해 자바스크립트 파일로 변환된 것이다. 이제 자바스크립트 파일을 실행하기 위해 node test.js를 입력한다. 그럼 터미널에 hi가 뜬다.
여러 파일을 한번에 컴파일 하는 것이 가능하다.
tsc file1.ts, file2.ts, file3.ts
Valid identifiers | Invalid identifiers |
---|---|
firstName | Var |
first_name | first name |
num1 | first-name |
$result | 1number |
break | as | any | switch |
case | if | throw | else |
var | number | string | get |
module | type | instanceof | typeof |
public | private | enum | export |
finally | for | while | void |
null | super | this | new |
in | return | true | false |
any | extends | static | let |
package | implements | interface | function |
new | try | yield | const |
continue | do | catch |
객체 지향
타입스크립트는 객체지향 자바스크립트다. 객체 지향은 실세계 모델링을 따르는 소프트웨어 개발 패러다임이다. 객체 지향은 메서드라는 이름의 메커니즘을 통해서 각각 통신하는 객체들의 집합으로써 프로그램을 고려한다. 타입스크립트는 다음과 같은 객체 지향 컴포넌트들을 지원한다.
객체 : 모든 엔티티의 실시간 표현, 모든 객체는 세가지 특징을 가져야만 한다.
1. 상태 : 객체의 속성으로 묘사
2. 행위 : 객체가 어떻게 동작하는지 묘사
3. 아이덴티티 : 비슷한 객체들의 집합으로부터 객체를 구분하는 유일한 값
클래스 : 객체 지향 프로그래밍의 용어로서 클래스는 객체를 생성하기 위한 청사진이다. 클래스는 객체에 대한 데이터를 캡슐화한다.
메서드 : 객체 간에 통신을 용이하게 한다.
class Greeting { greet():void { console.log("Hello World!!!") } } var obj = new Greeting(); obj.greet();
Greeting 클래스는 greet라는 메서드를 가지고 그 메서드 안에는 Hello World!!!를 출력하는 로그 함수가 있다.
obj라는 이름의 Greeting 객체를 생성하고 obj객체의 greet 메서드를 호출하는 것이다.
이 타입스크립트 코드를 tsc로 컴파일해서 자바스크립트 코드로 변환한다면 아래와 같다.
var Greeting = (function () { function Greeting() { } Greeting.prototype.greet = function () { console.log("Hello World!!!"); }; return Greeting; }()); var obj = new Greeting(); obj.greet()
자바스크립트 코드보다 타입스크립트 코드가 훨씬 간결하다는 것을 알 수 있다.
https://www.tutorialspoint.com/typescript/typescript_basic_syntax.htm
'JS > TypeScript' 카테고리의 다른 글
타입스크립트 튜토리얼 변수 (0) | 2018.12.13 |
---|---|
타입스크립트 튜토리얼 타입 (자료형) (0) | 2018.12.12 |
타입스크립트 튜토리얼 환경 설정 (0) | 2018.12.11 |
타입스크립트 튜토리얼 개요 (0) | 2018.12.11 |
타입스크립트 튜토리얼 간단 소개 (0) | 2018.12.11 |