본문 바로가기

node.js - about TypeScript (타임스크립트) 본문

개발/node.js

node.js - about TypeScript (타임스크립트)

자전하는명왕성 2023. 1. 25. 14:42

TypeScript

Typescript 는 자바스크립트를 기반으로 '정적 타입 문법'을 추가한 프로그래밍 언어이다.

 

정적 타입 문법  (정적 타입 언어, 컴파일 언어)

정적 타입 문법이란, 변수를 선언할 때 명시적으로 변수의 타입(ex, String, Number,...)을

명시적으로 선언하며 그에 맞는 값을 변수에 할당하는 것을 의미한다.

* 컴파일

타입스크립트는 자바스크립트와 달리 브라우저에서 실행하려면 파일을 한번 변환해 주어야 한다.

이 변환 과정을 우리는 컴파일(complile) 이라고 부른다.

 

** 그런 의미에서 자바스크립트는 변수를 할당할 때, '', {}, [], 등과 같이 각각 기호를 활용해

타입을 명시해주기에 정적 타입 문법이 아닐까 생각할 수 있지만 그렇지 않다.

let test;

console.log(typeof test)	// 'undefined'

test = null
console.log(typeof test)	// 'object'

test = 3
console.log(typeof test)	// 'number'

test = "3"
console.log(typeof test)	// 'string'

위와 같은 결과를 보아, 자바스크립트

변수와 상관없이 데이터 타입이 값에 따라 바뀌는 동적 타입 문법이며 느슨한 타입 문법이라고도 볼 수 있다. 

특히 *(==) 느슨한 동등 연산자 같은 경우는 자바스크립트를 매우 동적 타입으로 사용하는 연산이기 때문에 지양할 필요가 있다.

 

정적 타입 문법인 타입 스크립트의 경우, 아래와 같이 나온다.

타입스크립트는 자바스크립트보다 엄격한 규칙을 적용한다고 볼 수 있다.

 

Syntax

타입스크립트는 자바스크립트의 상위 집합인 언어다. 

때문에, 정상적인 자바스크립트 코드는 타입스크립트에서도 정상 작동한다.

이는 상호 언어 간의 자유롭게 전환할 수 있음을 의미하기도 한다.

 

타입스크립트의 장점

코드를 작성함에 있어, 타입이나 구조를 정하고 작성하기 때문에 에러를 사전에 발견하기에 용이하다.

(정확하게는 코드 실행 전(런타임 전) 에러를 알려준다.)

 

데이터 타입이 지정해준 타입 이외에 다른 값으로 변하지 않기 때문에 활용할 때 신뢰성이 있으며,

 

자바스크립트 기반이기 때문에, 타입스크립트를 위해 다른 언어를 공부할 필요가 없다.

(정확히는 자바스크립트의 상위 집합으로, 정상 작동하는 자바스크립트 코드를 타입스크립트에 넣어도 작동한다.)

 

타임스크립트의 단점

코드를 작성할 때 매번 변수에 따른 타입을 정해줘야 하므로 코드량이 많아진다.

 

 

https://www.typescriptlang.org/

 

JavaScript With Syntax For Types.

TypeScript extends JavaScript by adding types to the language. TypeScript speeds up your development experience by catching errors and providing fixes before you even run your code.

www.typescriptlang.org

 

Comments