본문 바로가기

Programming Language/TypeScript

[TypeScript] JavaScript 와 TypeScript 의 차이점

 

JavaScript : TypeScript


  • TypeScript는 JavaScript 기반의 언어이다.
  • JavaScript는 클라이언트 측 스크립팅 언어 이며, TypeScript는 객체 지향 컴파일 언어다.
    1. 클라이언트 사이드 스크립트 언어 : (client-side script)는  에서 사용되는 스크립트 언어  중 클라이언트 사이드 에서 실행되는 스크립트 언어를 말한다.
    2. 객체 지향 컴파일 언어 : 객체 간의 메시지 통신을 이용하여 동작하는 방식으로 JAVA, C++ 등이 속한다.

 

TypeScript


  • TypeScript 컴파일러를 사용하여 ts(TypeScript)파일을 js(JavaScript) 파일로 변환, 쉽게 통합
  • 정적 유형 검사 제공 ⇒ 오류를 줄일수 있다.
interface Person {
  name: string;
  age: number;
}

interface Animal {
  name: string;
  age: number;
  owner: Person;
}

const person: Person = {
  name: 'Park',
  age: 25
}

const animal: Animal = {
  name: 'White',
  age: 4,
  owner: person
}
  • 클래스 기반 객체를 만들 수 있음
  • 클래스 기반이므로 객체 지향 프로그래밍 언어로 상속, 캡슐화 및 생성자를 지원할 수 있음

 

예시코드


[ javascript ]

  • 코드상으로는 어떤 타입의 인수를 전달하여야 하는지, 어떤 타입의 반환값을 리턴해야 하는지 명확하지 않다. 따라서 오류를 예측하지 않은 값이 리턴될 수 있는 함수이다.
function sum(a, b) {
  return a + b;
}
//정적 타입을 지원하지 않으므로 어떤 타입의 반환값을 리턴해야 하는지 명확하지 않음

 

[ Typescript ]

  • TypeScript는 정적 타입을 지원하므로 컴파일 단계에서 오류를 포착할 수 있는 장점이 생긴다. 명시적인 타입 지정은 의도를 명확하게 코드로 기술할 수 있고, 코드의 가독성을 높이고 예측할 수 있게 하며 디버깅이 쉬워진다.
function sum(a: number, b: number) {
  return a + b;
}
//정적 타입을 지원, 컴파일 단계에서 오류 포착 장점  => 코드의 가독성 높임