자바스크립트[JavaScript]
객체지향 프로그래밍 언어로 브라우저 내에서 주로 사용되며, Node.js에서 프로그래밍에도 사용되고 있습니다.
자바스크립트는 현대의 모든 브라우저들이 기본으로 지원하기에 웹 분야에서 가장 인기 있는 언어라고 할 수 있습니다.
타입 스크립트[TypeScript]
JS에 타입을 부여한 언어입니다. 다시 말해 자바스크립트의 확장이라고 할 수 있습니다. 타입 스크립트는 실행을 하려면 TS를 JS로 변환해 주는 과정이 필요한데 이것을 컴파일(Complie)이라고 합니다.
왜 타입 스크립트를 많이 쓸까?
주변의 웹 개발을 공부하거나 개발을 하는 사람들을 보면, 많은 사람들이 타입 스크립트를 사용하여 개발을 하고, 공부를 합니다. 처음에 JS로 시작해서 익숙해지면 TS를 공부하는 것이 정석처럼 여겨집니다. 왜 그런 걸까요?
1. 정적 타입
타입 스크립트는 Staic Type이고, 자바스크립트는 Dynamic Type입니다. 정적 타입은 개발 중에 타입을 확인할 수 있지만, 동적 타입은 개발 중에는 알 수 없고, 런타임에 돌입해야만 확인을 할 수 있습니다.
//js
function sum(a,b) {
return a+b;
}
//ts
function sum(a: number, b: number) {
return a+b;
}
위의 코드는 파라미터 값을 더하는 함수입니다. 자바스크립트로 작성한 함수의 경우 타입이 동적으로 정해져 있기에 파라미터의 자료형에 따라 알아서 타입이 정해집니다. 예를 들어 sum('1', '2')를 호출하면 '12'가 반환됩니다.
반면 타입 스크립트의 경우는 파라미터의 타입을 명확하게 명시하였기에 예기치 못한 오류를 포착할 수 있습니다.
타입 스크립트에서 sum('1', '2')를 호출할 경우 에러가 발생하게 됩니다.
이렇듯 TypeScript는 컴파일 단계에서 오류를 포착할 수 있고, 이런 명시적인 정적 타입을 개발자의 의도를 잘 표현할 수 있습니다. 이는 코드의 가독성을 높여주는 영향을 주게 됩니다.
2. 호환성
TS는 JS의 확장이라 볼 수 있기에 자바스크립트와 100% 호환이 됩니다. 그렇기에 프런트 백 가리지 않고 어디서든 타입 스크립트를 사용할 수 있습니다. 타입스크립트는 앱과 웹을 구현하는 자바스크립트와 동일한 용도로 사용이 가능합니다.
3. 강력한 생태계
타입스크립트는 역사가 긴 언어가 아님에도 많은 라이브러리들이 타입스크립트를 지원하며 VSCode를 비롯한 에디터가 타입스크립트 관련 기능과 플러그인을 지원합니다.
4. 점진적 전환 기능
기존 자바스크립트 프로젝트를 타입 스크립트로 전환하는데 부담이 있다면 특정 기능에만 타입 스크립트를 도입함으로써 프로젝트를 점진적으로 전화할 수 있습니다.
약간 과장을 하면 한번 타입스크립트를 맛보면 자바스크립트를 사용하고 싶지 않아 질 수 있습니다.
자바스크립트로 개발하면 예기치 못한 오류나 결과로 인해 수정하는데 시간과 노력을 쏟게 되는데 타입 스크립트는 이런 시간과 노력을 절약해 줍니다.
여러분 중 타입 스크립트에 대한 공부를 망설이고 있는 분이 계시다면 공부하는 것을 추천해 드립니다.
공부해서 나쁠 건 없습니다.
'프론트개발 > TypeScript' 카테고리의 다른 글
[TypeScript] 인터페이스(Interface) (0) | 2022.07.19 |
---|---|
[TypeScript] 타입 호환성과 별칭 (0) | 2022.07.18 |
[TypeScript] 타입 시스템 (0) | 2022.07.18 |
[TypeScript] 타입 스크립트의 타입(2) (0) | 2022.07.16 |
[TypeScript] 타입 스크립트의 타입(1) (0) | 2022.07.16 |
댓글