타입스크립트는 뭐지?

Youngwan Cho·2021년 2월 24일
0

javascript나 node.js, react native를 사용하는 프로젝트를 진행면서, 타입스크립트라는 말을 자주 접했다

당장은 자바스크립트만 집중하고 있었는데, 시간을 내어 타입스크리트가 무엇인지 알아보면서 기록 하려한다

마이크로소프트에서 구현한 JavaScript의 슈퍼셋(Superset) 프로그래밍언어

  • superset은 상위 집합이라는 뜻이다, 타입스크립트가 자바스크립트의 특성을 침범하지 않고 지원

이름에서도 알수 있듯이 정적 타입을 명시할 수 있다는 것이 자바스크립트와의 가장 큰 차이점이다

타입을 전달 하므로, 개발자가 의도한 변수나 함수등의 목적을 더욱 명확하게 전달할 수 있고, 전달된 정보를 기반으로 코드 자동완성이나 잘못된 변수 함수사용에 대한 알림같은 풍부한 피드백을 받을 수 있게 되므로 자바스크립트에 비해 생산성 향상을 꾀할 수 있다.

자바스크립트를 실제로 사용하기 전에 있을만한 타입에러들을 미리 잡는 것이 타입스크립트의 사용 목적이다

API를 구현하고 사용함에 있어 해당 API의 인풋과 아웃이 무엇인지 명확하게 표현할 수 있으므로 개발자 간의 상호작용에도 상당한 이점이다

자바스크립트는 메뉴얼을 찾아봐야하는 일이 다반사

타입 선언 기능이 존재한다

자바스크립트

const a = 2;
const b = '4';
console.log(a*b)

타입스크립트

const a:number = 2;
const b:string = '4';
console.log(a*b)

특이점

타입스크립트는 결국 자바스크립트로 컴파일되어 동작한다

자바스크립트는 객체가 갖는 속성을 어떻게든 개발자가 파악해서 어떻게든 에러 없이 동작하도록 설계하는것이 기본적인인 개발 흐름이다.

반면 타입스크립트는 이토록 지나치게 자유로운 변수, 객체 활용에 의도적으로 제약을 걸어 개발의 안정성 및 편의성을 증대시키것에 뜻이 있다

npm 라이브러리의 비호환

타입스크리트로 만들어진 라이브러리가 아닌 이상 사용할 수 없다, 유명한 라이브러리들은 타입스크립트용으로 지원을 하고 있다

프레임워크의 지원

  • Angular - 구글에서 만든 타입스크립트 프레임워크, 구버전은 자바스크립트를 대상으로 했으나 현재는 타입스크립트를 대상으로하고 있다
  • React - 페이스북에서 만든 자바스크립트 프레임워크, —template typescript 옵션을 사용하면 타입스크립트로 사용할 수 있다
  • Vue - 베이스는 자바스크립트이지만 3.0버전 이후부터는 ts를 공식적으로 지원한다

0개의 댓글