일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- TypeScript
- DI
- HTTP란
- 의존성주입
- Mock vs Stub
- Spock Mock
- ECMAScript
- @Transaction isolation
- @Transaction propagation
- docker desktop 유료화 정책
- webpack
- TCP/IP
- enum
- Docker Desktop 쓰고싶다
- 공짜로 Docker Desktop같은거 쓰기
- Spock Spy
- Vue+Typescript
- mock stub
- Rancher Desktop설치
- frontend
- vue store
- Spock Mock Stub Spy
- 자바스크립트
- docker desktop 대체
- 타입스크립트
- mock stub spy
- Spock Stub
- nuxtjs/composition-api buildModules
- Javascript
- 트랜잭션 격리
- Today
- Total
끄적끄적
타입스크립트란? 본문
TypeScript는 Microsoft에 의해 개발/관리되고 있는 오픈소스 프로그래밍 언어입니다. 대규모 애플리케이션을 개발하는 데 자바스크립트가 어렵고 불편하다는 불만에 대응하기 위해 개발되었습니다.
TypeScript는 스크립트 언어의 표준인 ECMA Script (줄여서 ES)의 표준을 따르기 때문에 JavaScript 영역을 침범하지 않고 최신 ES를 지원합니다.
'새로운 ES가 나올 때 마다, TypeScript 역시 버전 업을 하여 최신 ES의 기능을 지원합니다.'
타입스크립트의 특징
- 컴파일 동작
- 정적 타입 지정
- 객체 지향 프로그래밍 지원
- interfaces & namespaces & modules
- generic
- mixins
TypeScript를 사용하면 정적 타이핑이 가지는 장점을 Javascript에도 적용할 수 있고, 정적 타이핑은 컴파일 타임에 타입을 체크합니다.
정적 타이핑은 런타임 에러보다는 컴파일 타임 에러가 에러를 줄이기에 더 낫습니다.
TypeScript의 단점
바로 생산성입니다. TypeScript는 생산성보다는 안정성이 중요시 되는 대규모 JavaScript 어플리케이션 개발에 적합합니다.(즉, 지속적이며 규모가 큰 서비스에 적용하여 오랜기간 유지보수와 여러 명의 개발자가 존재하는 곳에서 협업하여 개발할 때 빛을 봅니다.)
또한, 기존 자바스크립트 개발방식에 익숙해져 있는 개발자(동적타입의 언어)는 러닝 커브가 존재하기도 합니다.
물론 역량에 따라 빠르게 익힐 수 있겠지만 프로젝트를 하는 모든 개발자 분들은 정적 타입 프로그래밍에 대한 개발 사고 방식을 가지고 개발을 진행 해야 합니다.
TypeScript의 장점
정적 타입 지원이 가능하다. 제일 큰 장점이라 생각되네요.
컴파일 단계에서 오류를 포착 할 수 있으며, 명시적인 정적 타입 지정은 개발자의 의도를 명확하게 코드로 기술할 수 있게 됩니다.
코드의 가독성을 높이고 예측이 가능 하며 디버깅을 쉽게 할 수 있게 됩니다.(즉, 에러케이스를 빠르게 찾아 낼 수 있게됩니다)
또한, 강력한 객체지향 프로그래밍이 가능하게 됩니다.
인터페이스와 제네릭 등 강력한 객체지향 프로그래밍 지원으로 크고 복잡한 프로젝트의 추상화가 가능해집니다.
또한 객체 지향 언어에 익숙한 개발자가 자바스크립트 프로젝트를 수행하는데 진입장벽을 낮추는 효과도 있습니다.
'Front-end > Typescript' 카테고리의 다른 글
[타입스크립트] Enum 클래스로 사용해보기 (0) | 2021.11.18 |
---|---|
[타입스크립트] 데코레이터(Decorator) (0) | 2021.06.02 |
타입스크립트 프로젝트 만들기 - 패키지 구성 알아보기 (0) | 2019.05.31 |
타입스크립트 프로젝트 만들기 - 타입정의 (0) | 2019.05.30 |
타입스크립트 프로젝트 만들기 - 개발환경세팅 (0) | 2019.05.27 |