JavaScript 대 TypeScript

JavaScript 대 TypeScript

반응형

차이점에 대해 살펴보기 전에 두 언어에 대한 간단한 배경을 알아보겠습니다.

자바스크립트(JaScript)는 인터프리터링되는 경량 크로스 플랫폼 객체 지향 스크립트 언어로, ECMAScript 사양을 준수하며 대화형 웹 페이지를 만드는 데 사용된다. 자바스크립트는 프로그래머가 웹 페이지를 만들 수 있도록 클라이언트 측과 서버 측 모두에서 사용됩니다.

타입스크립트(TypeScript)는 마이크로소프트가 개발하고 유지 관리하는 프로그래밍 언어이다. 강력한 타입의 자바스크립트, 크로스 플랫폼, 객체 지향, 플레인 자바스크립트 언어로 컴파일된 슈퍼셋이며 대화형 웹 페이지를 만드는 데 사용된다.

클라이언트 쪽과 서버 쪽 기술로 자바스크립트가 있는데 왜 TypeScript가 필요했나요?

Nodejs의 개발로 우리가 알고 있듯이 자바스크립트는 서버측과 클라이언트측 웹 개발로 인해 이전보다 더 인기가 많아졌다. 그러나 자바스크립트가 성장하면서 코드가 더 복잡해졌고 코드의 재사용 가능성을 유지하는 것이 어려워졌다. 그것은 객체 지향 프로그래밍의 필요성을 충족시킬 수 없었습니다. 이러한 결함은 JavaScript가 엔터프라이즈 수준에서 서버측 기술로 성공하는 것을 방해합니다. 그리고 나서 그 공백을 메우기 위해 사진 속에 TypeScript가 들어옵니다.

JavaScript와 TypeScript의 차이점

타입스크립트는 객체 지향 프로그래밍 언어인 반면 자바스크립트는 객체 지향 스크립트 언어이다.

객체 지향 프로그래밍 언어는 객체를 기반으로 하는 반면 스크립트 언어는 함수/동작을 자동화하기 위한 스크립트로 구성된다.

스크립트 언어는 컴파일 단계가 필요하지 않으며 대부분 해석됩니다.

타입스크립트는 개발 기간 동안 항상 오류에 대한 주의를 환기시키지만 자바스크립트는 런타임에 강조된다.

TypeScript는 정적 입력을 지원하지만 JavaScript는 동적 입력을 지원합니다.

JavaScript는 런타임에 유형을 변수에 할당합니다(동적으로 입력됨).

TypeScript는 정적 타이핑을 위한 옵션을 제공하며 변수의 타입은 코드를 작성하는 동안 선언된다. 예를 들어

JavaScript에서:

let name_ ="JavaScript"; console.log("name variable is infered as string",names); name_=45; console.log("name variable is infered as number ",names);

TypeScript에서:

let name_ = "TypeScript"; console.log("name variable is infered as string",name_); name_=45; // throw error "Type 'number' is not assignable to type 'string' "

언어가 정적으로 입력되지 않으면 런타임에 오류가 발생하기 쉽습니다.

TypeScript 지원 인터페이스지만 Javascript는 지원하지 않습니다.

객체 지향 프로그래밍 언어 TypeScript는 인터페이스, 클래스, 상속, 제네릭 등과 같은 OOP 개념을 지원한다.

타입스크립트가 자바스크립트를 통해 제공하는 많은 이점들이 있는데, 코드 관리를 쉽게 하고, 명시적으로 정의된 데이터 구조에 의해 팀 성능을 향상시키며, 변수 타입 주석은 원래 코드베이스에서 작업하던 다른 엔지니어의 결정을 훨씬 쉽게 이해할 수 있게 한다. TypeScript는 점점 인기를 얻고 있으며 거대 산업 기업들에 의해 채택되고 있다.

지난 2년간 NPM 다운로드:

가장 많이 사용되는 언어에 대한 스택 오버플로 조사

TypeScript는 자바스크립트 개발자들을 위한 훌륭한 도구이다. 대형 코드베이스를 이해하기 쉽게 만들며 정교한 코드 작성 툴킷도 제공한다.

여기까지 하겠습니다, 읽어주셔서 감사합니다.

-오렌지하

이 블로그는 블로그티플을 사용하여 게시합니다.

from http://every-issue.tistory.com/36 by ccl(A) rewrite - 2021-10-28 05:26:16