JavaScript
- 동적 타입 언어(dynamic type language)
- 개발 시, 타입 체크 불가능 -> 런타임 오류의 발생이 쉬움
- 코드 실행중에 오류가 발생
- 디버깅에 많은 시간이 소요되며, 코드의 유지보수 및 확장성이 낮아짐
동적 타입 언어(dynamic type language)
프로그램의 실행 시점에 변수의 데이터 타입이 동적으로 결정되는 프로그래밍 언어
변수에 할당되는 값에 따라 변수의 타입이 자동으로 결정하므로, 코드 작성 및 컴파일 과정에서 발생할 수 있는 에러를 런타임에 발생시킴
TypeScript
정적타입언어(static type language)로, javaScript의 슈퍼셋(Superset)
- 정적 타입 체크(Static Type Checking) 기능을 제공
- 자료형을 명시함으로 코드 가독성을 높여 유지보수성 개선
- 개발자가 코드 작성시 변수의 자료형을 사전에 정의함으로, 컴파일러가 타입체크를 수행해 런타임오류를 사전에 방지
- 안정성이 향상되고 유지보수 및 확장성이 높아진다
- ES6의 모든 기능 + 최신 기능을 지원
- javaScript와의 호환성을 보장하여 기존의 javaScript코드를 그대로 사용할 수 있을 뿐 아니라, typeScript코드를 javaScript코드로 변환 가능
- 자동완성기능, 타입 추론기능, 코드 리팩토링 기능으로 개발 생산성 향상
Superset
하나 이상의 언어의 기능을 보강하거나 확장하는 언어로, 원래 언어와의 호환성을 갖고 환장된 기능을 사용할 수 있음
javaScript의 구문과 유사하며 전환이 쉽고, 타입 시스템을 추가 제공함으로 javaScript언어의 문제를 보완
결론 : JavaScript를 사용함으로 발생할 수 있는 개발자의 실수를 줄이게 도움으로 생산성, 안정성, 유지보수 증가
'WEB' 카테고리의 다른 글
어떤 코드를 작성해야하나요? (0) | 2023.04.03 |
---|---|
[WEB 동작 방식] 브라우저에 웹 주소를 입력하면 어떤 일이 발생하나요? (0) | 2023.03.27 |
[Package Manager] NPM, yarnBerry, yarn (0) | 2023.03.08 |
<a>, window.open() (0) | 2023.02.26 |
502 Bad Gateway (0) | 2023.02.24 |