Javascript vs Typescript

space's pace·2022년 6월 28일
0

프론트엔드

목록 보기
2/15

JavaScript와 TypeScript

  • TypeScript는 JavaScript 기반의 언어
  • JavaScript는 클라이언트 측 스크립팅 언어 TypeScript는 객체 지향 컴파일 언어
  • 객체 지향 프로그래밍 패러다임은 데이터 추상화에 중심
    - 객체와 클래스라는 두 주요 개념을 기반으로 함



자바스크립트란?

  • 웹 개발에 주로 사용되는 언어 (동적)
  • 웹 페이지를 대화식으로 만드는 프로그래밍 언어
  • 폼 유효성 검사, 애니메이션 적용 및 이벤트 생성을 수행하는 역할
  • 클라이언트 측 스크립트 언어  - 사용자가 웹 브라우저를 열고 웹페이지를 요청할 시 해당 요청이 웹 서버로 이동한다.
  • 멀티 스레딩, 멀티 프로세싱 기능이 없음

Typescript

  • Javascript의 상위 집합으로 Javascript의 모든 기능이 있다.
  • TypeScript 컴파일러를 사용해 ts(Typescript)파일을 js(Javascript)파일로 변환, 쉽게 통합
  • 정적 유형 검사를 제공
  • 클래스 기반 객체를 만들수 있음 
  • 클래스 기반이므로 객체 지향 프로그래밍 언어로 상속, 캡슐화 및 생성자를 지원할 수 있다.
  • 코드를 보다 안정성있게 작성하는데 도움을 줌

타입스크립트 컴파일 에러 예시

//index.ts 
const getMessageByKey = (userKey: string) => {
   const [userId, tag] = userKey.split(':');
   const message = messageRepo.findOne({ where: {userId, tag} });
   //....
};

//컴파일 에러
getMessageByKey(3927);

Javascript 코드(런타임 에러)

//index.js
const getMessageByKey = (userKey) => {
   const [userId, tag] = userKey.split(':');
   const message = messageRepo.findOne({ where: {userId, tag} });
   //....
};

//런타임 에러 
getMessageByKey(3927);

Typescript의 정적 타입을 사용하게 되면 컴파일 단계에서 타입체크를 하면서 바로 버그를 catch해서 코드를 수정하여 코드의 안정성이 높아지는 장점이 있다.

TypeScript는 class, interface 등 및 상속과 같은 기능을 지원하는 OOP 언어 구조를 따르는 JS로 트랜스 컴파일하는 대형 애플리케이션을 위해 개발되었다. 
전반적으로 TypeScript는 유지 관리가 쉽고 코드 구성에 적합하며 프로젝트 생산성을 향상시킨다. 
또소규모 웹 프로젝트에서 작업할 때 JavaScript가 여전히 선호되는 반면, 복잡한 프로젝트를 처리할 때는 TypeScript가 이상적인 선택이 될 수 있다. 

출처: https://choseongho93.tistory.com/319 [TROLL:티스토리]

profile
블로그 이사 준비중!

0개의 댓글