TypeScript란 무엇이며 JavaScript 대신 TypeScript를 사용하는 이유는 무엇입니까?[닫은]

StackOverflow https://stackoverflow.com//questions/12694530

  •  12-12-2019
  •  | 
  •  

문제

TypeScript 언어가 무엇인지 설명해 주시겠습니까?

JavaScript나 사용 가능한 라이브러리가 할 수 없는 일을 할 수 있다면, 이를 고려해 볼 이유가 될까요?

도움이 되었습니까?

해결책

나는 원래 Typescript가 아직도이 답을 썼다. 핫 - 오프 - 프레스. 5 년 후, 이것은 OK 개요이지만 봐 LodeWijk의 답변 자세한

1000ft보기 ...

Typescript 는 주로 선택적 정적 타이핑, 클래스 및 인터페이스를 제공하는 JavaScript의 수퍼 세트입니다. 큰 이점 중 하나는 IDE가 코드를 입력 할 때 일반적인 오류를 발견하기위한 풍부한 환경을 제공하는 것입니다.

제가 의미하는 바를 얻으려면 Microsoft의 소개 비디오 언어로.

대형 JavaScript 프로젝트의 경우 Typescript를 채택하면 일반 JavaScript 응용 프로그램이 실행되는 위치가 아직 배포 될 수 있지만 더 강력한 소프트웨어가 발생할 수 있습니다.

오픈 소스이지만 지원되는 IDE를 사용하는 경우에만 영리한 인텔리센스를 얻을 수 있습니다. 처음에는 Microsoft의 Visual Studio 만 ( "NoFollow Noreferrer"> Miguel de Icaza의 Blog Post에서도 기록되었습니다. ). 요즘, 다른 IDES Typescript 지원도 제공 .

다른 기술이 있습니까?

coffeescript 그러나 정말로 다른 목적을 제공합니다. IMHO, CoffeEScript는 인간의 가독성을 제공하지만 Typescript는 선택적 정적 타이핑 (이 최근 블로그 게시물 조금 더 비판을 위해서). 다트 그러나 그것은 JavaScript를위한 교체가 꽉 찼습니다 (비록 자바 스크립트 코드 생성 할 수 있습니다 < / P>

예제

예를 들어, 일부 Typescript가 있습니다 ( Typescript 놀이터 ) 에서이 작업을 수행 할 수 있습니다.

class Greeter {
    greeting: string;
    constructor (message: string) {
        this.greeting = message;
    }
    greet() {
        return "Hello, " + this.greeting;
    }
}  
.

다음은

를 생성 할 자바 스크립트입니다.
var Greeter = (function () {
    function Greeter(message) {
        this.greeting = message;
    }
    Greeter.prototype.greet = function () {
        return "Hello, " + this.greeting;
    };
    return Greeter;
})();
.

TypeScript가 멤버 변수 및 클래스 메소드 메소드 매개 변수의 유형을 정의하는 방법을 알 수 있습니다. 이것은 JavaScript로 변환 할 때 제거되지만 숫자 유형을 생성자에 전달하는 것과 같은 IDE 및 컴파일러가 오류를 스폿 오류로 사용합니다.

또한 예를 들어, greet() 메소드가 문자열을 반환하는 것을 결정할 것입니다.

을 결정할 수 있습니다.

디버깅 typescript

많은 브라우저와 IDES는 sourcemaps를 통해 직접 디버깅 지원을 제공합니다. 자세한 내용은이 스택 오버플로 질문을 참조하십시오. Visual Studio로 Typescript 코드 디버깅 / P>

더 많은 것을 알고 싶습니까?

나는 원래 Typescript가 여전히 핫 오프 - 오프 프레스 일 때이 답변을 썼다. LodeWijk의 답변

다른 팁

TypeScript와 JavaScript의 관계

TypeScript는 Plain JavaScript로 컴파일하는 JavaScript의 입력 된 슈퍼 세트입니다. typescriptlang.org.

JavaScript는 개발자가 개발한 프로그래밍 언어입니다. EMCA 기술위원회 39, 다양한 이해관계자로 구성된 사람들의 그룹입니다.TC39는 다음이 주최하는 위원회입니다. ECMA:내부 표준 조직.JavaScript는 다양한 공급업체에서 다양한 구현을 제공합니다(예:구글, 마이크로소프트, 오라클 등).JavaScript의 목표는 웹의 공용어가 되는 것입니다.

TypeScript는 단일 오픈 소스 컴파일러가 있고 주로 단일 공급업체에 의해 개발되는 JavaScript 언어의 상위 집합입니다.마이크로소프트.TypeScript의 목표는 유형 시스템을 통해 실수를 조기에 발견하고 JavaScript 개발을 보다 효율적으로 만드는 것입니다.

기본적으로 TypeScript는 세 가지 방법으로 목표를 달성합니다.

  1. 최신 JavaScript 기능 지원 - 런타임이 아닌 JavaScript 언어는 다음을 통해 표준화됩니다. ECMA스크립트 표준.모든 브라우저와 JavaScript 런타임이 모든 ECMAScript 표준의 모든 기능을 지원하는 것은 아닙니다(이 내용을 참조하세요). 개요).TypeScript를 사용하면 최신 ECMAScript 기능을 많이 사용할 수 있으며 이를 선택한 이전 ECMAScript 대상으로 변환할 수 있습니다(목록 참조). 컴파일 대상 아래의 --target 컴파일러 옵션).이는 모듈, 람다 함수, 클래스, 확산 연산자 및 구조 분해와 같은 새로운 기능을 안전하게 사용하는 동시에 이전 브라우저 및 JavaScript 런타임과의 하위 호환성을 유지할 수 있음을 의미합니다.

  2. 고급 유형 시스템 - 유형 지원은 ECMAScript 표준의 일부가 아니며 JavaScript의 컴파일된 특성 대신 해석된 특성으로 인해 결코 지원되지 않을 것입니다.TypeScript의 유형 시스템은 엄청나게 풍부하며 다음을 포함합니다.인터페이스, 열거형, 하이브리드 유형, 제네릭, 통합/교차 유형, 액세스 한정자 등이 있습니다.그만큼 공식 웹 사이트 TypeScript에서는 이러한 기능에 대한 개요를 제공합니다.Typescript의 유형 시스템은 대부분의 다른 유형 언어와 동등하며 어떤 경우에는 더 강력합니다.

  3. 개발자 도구 지원 - TypeScript의 컴파일러는 백그라운드 프로세스로 실행되어 증분 컴파일과 IDE 통합을 모두 지원하므로 보다 쉽게 ​​탐색하고, 문제를 식별하고, 가능성을 검사하고, 코드베이스를 리팩터링할 수 있습니다.

TypeScript와 다른 JavaScript 타겟팅 언어와의 관계

TypeScript는 JavaScript로 컴파일되는 다른 언어에 비해 독특한 철학을 가지고 있습니다.JavaScript 코드는 유효한 TypeScript 코드입니다.TypeScript는 JavaScript의 상위 집합입니다.이름을 거의 바꿀 수 있습니다 .js 파일을 .ts 파일을 다운로드하고 TypeScript 사용을 시작합니다(아래 "JavaScript 상호 운용성" 참조).TypeScript 파일은 읽을 수 있는 JavaScript로 컴파일되므로 다시 마이그레이션이 가능하고 컴파일된 TypeScript를 이해하는 것이 전혀 어렵지 않습니다.TypeScript는 JavaScript의 성공을 바탕으로 약점을 개선합니다.

한편으로는 최신 ECMAScript 표준을 취하고 이를 가장 널리 사용되는 Babel과 함께 이전 JavaScript 버전으로 컴파일하는 미래 보장 도구가 있습니다.반면에 CoffeeScript, Clojure, Dart, Elm, Haxe, Scala.js 및 전체 호스트와 같이 JavaScript를 대상으로 하는 JavaScript와 완전히 다를 수 있는 언어가 있습니다(이 항목 참조). 목록).이러한 언어는 JavaScript의 미래가 이끄는 곳보다 더 나을 수 있지만 미래를 보장할 만큼 충분한 채택을 찾지 못할 위험이 더 큽니다.이러한 언어 중 일부에 대해 숙련된 개발자를 찾는 데 더 많은 어려움이 있을 수도 있지만, 찾을 수 있는 개발자는 종종 더 열정적일 수 있습니다.JavaScript와의 상호 운용성은 실제로 JavaScript와는 거리가 멀기 때문에 좀 더 복잡할 수도 있습니다.

TypeScript는 이 두 가지 극단 사이에 위치하여 위험의 균형을 맞춥니다.TypeScript는 어떤 표준에서도 위험한 선택이 아닙니다.JavaScript는 완전히 다른 언어가 아니며 뛰어난 JavaScript 상호 운용성을 지원하고 최근에 많이 채택되고 있기 때문에 JavaScript에 익숙하다면 익숙해지는 데 거의 노력이 필요하지 않습니다.

선택적으로 정적 유형 지정 및 유형 추론

JavaScript는 동적으로 입력됩니다.이는 JavaScript가 런타임에 실제로 인스턴스화될 때까지 변수가 어떤 유형인지 알 수 없음을 의미합니다.이는 너무 늦을 수도 있다는 의미이기도 합니다.TypeScript는 JavaScript에 유형 지원을 추가합니다.일부 변수가 특정 유형이라는 잘못된 가정으로 인해 발생하는 버그는 카드를 올바르게 사용하면 완전히 근절될 수 있습니다(코드를 얼마나 엄격하게 입력할지 또는 코드를 입력할지 여부는 전적으로 사용자에게 달려 있음).

TypeScript를 사용하면 유형 추론을 사용하여 입력이 좀 더 쉽고 명확해집니다.예를 들어: var x = "hello" TypeScript에서는 다음과 같습니다. var x : string = "hello".유형은 단순히 사용을 통해 추론됩니다.유형을 명시적으로 입력하지 않더라도 런타임 오류가 발생할 수 있는 작업을 수행하는 것을 방지하기 위해 유형이 여전히 존재합니다.

TypeScript는 기본적으로 선택적으로 입력됩니다.예를 들어 function divideByTwo(x) { return x / 2 } 다음과 같이 호출할 수 있는 TypeScript의 유효한 함수입니다. 어느 일종의 매개변수입니다. 비록 문자열로 호출하더라도 분명히 다음과 같은 결과가 나올 것입니다. 실행 시간 오류.JavaScript에 익숙한 것처럼 말이죠.DivideByTwo 예제처럼 유형이 명시적으로 할당되지 않았고 유형을 유추할 수 없는 경우 TypeScript가 암시적으로 유형을 할당하기 때문에 이는 작동합니다. any.이는 DivideByTwo 함수의 유형 시그니처가 자동으로 다음과 같이 됨을 의미합니다. function divideByTwo(x : any) : any.이 동작을 허용하지 않는 컴파일러 플래그가 있습니다. --noImplicitAny.이 플래그를 활성화하면 안전성이 높아지지만 더 많은 입력을 해야 한다는 의미이기도 합니다.

유형에는 관련 비용이 있습니다.첫째, 학습 곡선이 있고, 둘째, 적절한 엄격한 타이핑을 사용하여 코드베이스를 설정하는 데에도 시간이 조금 더 소요됩니다.내 경험에 따르면 이러한 비용은 다른 사람과 공유하는 심각한 코드베이스에서 그만한 가치가 있습니다. Github의 프로그래밍 언어 및 코드 품질에 대한 대규모 연구 다음과 같이 제안한다 "정적 유형의 언어는 일반적으로 동적 유형보다 결함이 적으며 같은 점에서 강한 유형 지정이 약한 유형 지정보다 낫습니다."

동일한 논문에서 TypeScript가 JavaScript보다 오류 발생 가능성이 낮다는 사실이 밝혀졌습니다.

긍정적 인 계수를 가진 사람들의 경우 언어가 Ceteris Paribus와 관련이 있다고 기대할 수 있습니다.이러한 언어에는 C, C++, 자바스크립트, Objective-C, PHP 및 Python.Clojure, Haskell, Ruby, Scala 및 타입스크립트, 모두 부정적인 계수가있어 이러한 언어는 평균보다 결함 수정 커밋을 초래할 가능성이 낮다는 것을 암시합니다.

향상된 IDE 지원

TypeScript를 사용한 개발 경험은 JavaScript에 비해 크게 향상되었습니다.IDE는 TypeScript 컴파일러를 통해 풍부한 유형 정보를 실시간으로 받습니다.이는 몇 가지 주요 이점을 제공합니다.예를 들어 TypeScript를 사용하면 전체 코드베이스에서 이름 바꾸기와 같은 리팩토링을 안전하게 수행할 수 있습니다.코드 완성을 통해 라이브러리가 제공하는 모든 기능에 대한 인라인 도움말을 얻을 수 있습니다.더 이상 기억하거나 온라인 참고자료에서 찾아볼 필요가 없습니다.코딩하는 동안 컴파일 오류는 빨간색 구불구불한 선으로 IDE에 직접 보고됩니다.전체적으로 이는 JavaScript로 작업하는 것보다 생산성이 크게 향상됩니다.코딩에 더 많은 시간을 할애하고 디버깅에 더 적은 시간을 투자할 수 있습니다.

Visual Studio Code, WebStorm, Atom 및 Sublime과 같이 TypeScript를 훌륭하게 지원하는 다양한 IDE가 있습니다.

엄격한 null 검사

양식의 런타임 오류 cannot read property 'x' of undefined 또는 undefined is not a function 이는 JavaScript 코드의 버그로 인해 매우 일반적으로 발생합니다.기본적으로 TypeScript는 TypeScript 컴파일러에 알려지지 않은 변수를 사용할 수 없기 때문에 이러한 종류의 오류가 발생할 확률을 이미 줄여줍니다. any 입력된 변수).다음과 같이 설정된 변수를 실수로 활용하는 것은 여전히 ​​가능합니다. undefined.그러나 TypeScript 2.0 버전에서는 null을 허용하지 않는 유형을 사용하여 이러한 종류의 오류를 모두 제거할 수 있습니다.이는 다음과 같이 작동합니다:

엄격한 null 검사가 활성화된 경우(--strictNullChecks 컴파일러 플래그) TypeScript 컴파일러는 허용하지 않습니다. undefined 널 입력 가능 유형으로 명시적으로 선언하지 않는 한 변수에 할당됩니다.예를 들어, let x : number = undefined 컴파일 오류가 발생합니다.이는 유형 이론과 완벽하게 일치합니다. undefined 숫자가 아닙니다.정의할 수 있습니다. x 합계 유형이 되려면 number 그리고 undefined 이 문제를 해결하려면: let x : number | undefined = undefined.

유형이 null을 허용하는 것으로 알려지면 해당 유형이 값일 수도 있는 유형임을 의미합니다. null 또는 undefined, TypeScript 컴파일러는 제어 흐름 기반 유형 분석을 통해 코드가 변수를 안전하게 사용할 수 있는지 여부를 결정할 수 있습니다.즉, 변수를 확인할 때 undefined 예를 들어 if 문에서 TypeScript 컴파일러는 코드 제어 흐름의 해당 분기에 있는 유형이 더 이상 null을 허용하지 않으므로 안전하게 사용할 수 있다고 추론합니다.다음은 간단한 예입니다.

let x: number | undefined;
if (x !== undefined) x += 1; // this line will compile, because x is checked.
x += 1; // this line will fail compilation, because x might be undefined.

빌드하는 동안 TypeScript Anders Hejlsberg의 2016 컨퍼런스 공동 디자이너는 이 기능에 대한 자세한 설명과 시연을 제공했습니다. 동영상 (44:30부터 56:30까지).

편집

TypeScript를 사용하려면 JavaScript 코드로 컴파일하는 빌드 프로세스가 필요합니다.물론 프로젝트 규모에 따라 빌드 프로세스는 일반적으로 몇 초 밖에 걸리지 않습니다.TypeScript 컴파일러는 증분 컴파일(--watch 컴파일러 플래그) 이후의 모든 변경 사항을 더 빠른 속도로 컴파일할 수 있습니다.

TypeScript 컴파일러는 생성된 .js 파일에 소스 맵 정보를 인라인하거나 별도의 .map 파일을 생성할 수 있습니다.소스 맵 정보는 Chrome DevTools 및 기타 IDE와 같은 유틸리티를 디버깅하여 JavaScript의 행을 TypeScript에서 생성한 행과 연결하는 데 사용될 수 있습니다.이를 통해 런타임 중에 TypeScript 코드에서 직접 중단점을 설정하고 변수를 검사할 수 있습니다.소스 맵 정보는 꽤 잘 작동합니다. 이는 TypeScript 이전부터 있었지만 일반적으로 TypeScript 디버깅은 JavaScript를 직접 사용할 때만큼 좋지 않습니다.가져 가라. this 예를 들어 키워드.변경된 의미론으로 인해 this ES2015 이후 클로저 관련 키워드, this 런타임 중에 실제로 다음과 같은 변수로 존재할 수 있습니다. _this (보다 이 답변).디버깅하는 동안 혼란스러울 수 있지만 일반적으로 이에 대해 알고 있거나 JavaScript 코드를 검사하면 문제가 되지 않습니다.Babel도 똑같은 종류의 문제를 겪고 있다는 점에 유의해야 합니다.

TypeScript 컴파일러가 수행할 수 있는 몇 가지 다른 트릭이 있습니다. 예를 들어 다음을 기반으로 가로채기 코드를 생성하는 것입니다. 장식가, 다양한 모듈 시스템에 대한 모듈 로딩 코드 생성 및 구문 분석 JSX.그러나 Typescript 컴파일러 외에 빌드 도구가 필요할 수 있습니다.예를 들어, 코드를 압축하려면 빌드 프로세스에 다른 도구를 추가해야 합니다.

TypeScript 컴파일 플러그인을 사용할 수 있습니다. 웹팩, 꿀꺽, 꿀꿀 거리는 소리 그리고 거의 모든 다른 JavaScript 빌드 도구가 있습니다.TypeScript 문서에는 다음 섹션이 있습니다. 빌드 도구와 통합 그들 모두를 덮습니다.ㅏ 린터 더 많은 빌드 시간 확인을 원하는 경우에도 사용할 수 있습니다.또한 Angular 2, React, Ember, SystemJS, Webpack, Gulp 등과 같은 다른 기술과 결합하여 TypeScript를 시작할 수 있는 수많은 시드 프로젝트가 있습니다.

자바스크립트 상호 운용성

TypeScript는 JavaScript와 매우 밀접하게 관련되어 있기 때문에 뛰어난 상호 운용성 기능을 갖추고 있지만 TypeScript에서 JavaScript 라이브러리를 사용하려면 몇 가지 추가 작업이 필요합니다. TypeScript 정의 TypeScript 컴파일러가 다음과 같은 함수 호출을 이해하려면 필요합니다. _.groupBy 또는 angular.copy 또는 $.fadeOut 실제로는 불법적인 발언이 아닙니다.이러한 함수에 대한 정의는 다음 위치에 있습니다. .d.ts 파일.

정의가 취할 수 있는 가장 간단한 형태는 식별자가 어떤 방식으로든 사용될 수 있도록 허용하는 것입니다.예를 들어, 로다시, 단일 라인 정의 파일 declare var _ : any 원하는 기능을 호출할 수 있습니다. _, 하지만 물론 여전히 실수를 할 수도 있습니다. _.foobar() 이는 합법적인 TypeScript 호출이지만, 물론 런타임에는 불법적인 호출입니다.적절한 유형 지원과 코드 완성을 원한다면 정의 파일이 더 정확해야 합니다(참조 lodash 정의 예를 들어).

NPM 모듈 자체 유형 정의와 함께 사전 패키지되어 제공되는 유형은 TypeScript 컴파일러에서 자동으로 이해됩니다(참조 선적 서류 비치).자체 정의를 포함하지 않는 거의 모든 인기 있는 JavaScript 라이브러리의 경우 누군가가 이미 다른 npm 모듈을 통해 유형 정의를 사용할 수 있게 만들었습니다.이러한 모듈에는 "@types/" 접두사가 붙고 Github 저장소에서 제공됩니다. 확실히 입력됨.

한 가지 주의 사항이 있습니다.유형 정의는 런타임에 사용 중인 라이브러리 버전과 일치해야 합니다.그렇지 않은 경우 TypeScript는 단순히 유형이 컴파일 타임의 런타임과 일치하지 않기 때문에 함수를 호출하거나 존재하는 변수를 역참조하는 것을 허용하지 않거나 함수를 호출하거나 존재하지 않는 변수를 역참조하는 것을 허용할 수 있습니다. .따라서 사용 중인 라이브러리의 올바른 버전에 대한 올바른 버전의 유형 정의를 로드했는지 확인하십시오.

솔직히 말해서 약간의 번거로움이 있으며 이것이 TypeScript를 선택하지 않고 대신 유형 정의를 전혀 얻지 못하는 Babel과 같은 것을 선택하는 이유 중 하나일 수 있습니다.반면, 현재 수행 중인 작업을 알고 있으면 부정확하거나 누락된 정의 파일로 인해 발생하는 모든 종류의 문제를 쉽게 극복할 수 있습니다.

JavaScript에서 TypeScript로 변환

어느 .js 파일 이름을 다음으로 바꿀 수 있습니다. .ts 파일을 작성하고 TypeScript 컴파일러를 통해 실행하여 출력과 구문적으로 동일한 JavaScript 코드를 얻습니다(처음에 구문적으로 올바른 경우).TypeScript 컴파일러가 컴파일 오류를 겪더라도 여전히 오류가 발생합니다. .js 파일.받아들일 수도 있다 .js 파일을 입력으로 사용하여 --allowJs 깃발.이를 통해 TypeScript를 즉시 시작할 수 있습니다.불행하게도 처음에는 컴파일 오류가 발생할 가능성이 높습니다.이는 다른 컴파일러에서 익숙했던 것처럼 표시를 멈추는 오류가 아니라는 점을 기억해야 합니다.

JavaScript 프로젝트를 TypeScript 프로젝트로 변환할 때 처음에 발생하는 컴파일 오류는 TypeScript의 특성상 피할 수 없습니다.TypeScript 검사 모두 유효성을 위한 코드이므로 사용되는 모든 함수와 변수에 대해 알아야 합니다.따라서 모든 유형에 대해 유형 정의가 있어야 합니다. 그렇지 않으면 컴파일 오류가 발생할 수 있습니다.위 장에서 언급했듯이 거의 모든 JavaScript 프레임워크에는 다음이 있습니다. .d.ts 설치 시 쉽게 얻을 수 있는 파일 확실한 유형의 패키지.그러나 TypeScript 정의를 사용할 수 없는 일부 모호한 라이브러리를 사용했거나 일부 JavaScript 기본 요소를 폴리필했을 수도 있습니다.이 경우 컴파일 오류가 사라지도록 하려면 이러한 비트에 대한 유형 정의를 제공해야 합니다.그냥 .d.ts 파일을 만들어 tsconfig.json에 포함시킵니다. files TypeScript 컴파일러가 항상 고려하도록 배열입니다.TypeScript가 알지 못하는 비트를 유형으로 선언합니다. any.모든 오류를 제거한 후에는 필요에 따라 점차적으로 해당 부분에 입력을 도입할 수 있습니다.

TypeScript를 빌드 파이프라인에 포함시키려면 빌드 파이프라인을 (재)구성하는 일부 작업도 필요합니다.컴파일 장에서 언급했듯이 세상에는 좋은 리소스가 많이 있으므로 작업하려는 도구 조합을 사용하는 시드 프로젝트를 찾아보는 것이 좋습니다.

가장 큰 장애물은 학습 곡선입니다.처음에는 작은 프로젝트부터 시작해 보시기 바랍니다.작동 방식, 빌드 방식, 사용하는 파일, 구성 방식, IDE에서 작동하는 방식, 구조화 방식, 사용하는 도구 등을 살펴보세요.대규모 JavaScript 코드베이스를 TypeScript로 변환하는 것은 자신이 무엇을 하고 있는지 알면 가능합니다.예를 들어 이 블로그를 읽어보세요. 72시간 안에 60만 줄을 타이프스크립트로 변환).점프하기 전에 언어를 잘 이해하고 있는지 확인하십시오.

양자

TypeScript는 오픈 소스입니다(Apache 2 라이센스가 있습니다. GitHub) 및 Microsoft의 지원을 받습니다. 안데르스 헤일스베르크, C#의 수석 설계자가 프로젝트를 주도하고 있습니다.매우 활동적인 프로젝트입니다.TypeScript 팀은 지난 몇 년 동안 많은 새로운 기능을 출시해 왔으며 앞으로도 많은 훌륭한 기능이 출시될 예정입니다(참조: 로드맵).

채택 및 인기에 관한 몇 가지 사실:

  • 에서 2017 StackOverflow 개발자 설문조사 TypeScript는 가장 인기 있는 JavaScript 트랜스파일러(전체 9위)였으며 가장 사랑받는 프로그래밍 언어 부문에서 3위를 차지했습니다.
  • 에서 2018년 JS 현황 설문조사 TypeScript는 JavaScript 버전 카테고리에서 두 가지 주요 승자 중 하나로 선언되었습니다(다른 하나는 ES6입니다).
  • 에서 2019 StackOverlow 개발자 설문조사 TypeScript는 C와 C++를 모두 제치고 전문 개발자들 사이에서 가장 인기 있는 언어 중 9위에 올랐습니다.가장 사랑받는 언어 중에서 다시 3위를 차지했습니다.

Typescript는 CSS에 대해 적은 또는 sass가 수행하는 것과 유사한 것입니다.그들은 슈퍼 세트입니다. 즉, 작성한 모든 JS 코드는 유효한 Typescript 코드입니다.게다가 언어에 추가하는 다른 객체를 사용할 수 있으며 트랜스 메일 코드는 유효한 JS가 될 수 있습니다.결과 코드를 원하는 JS 버전을 설정할 수도 있습니다.

현재 Typescript는 ES2015의 슈퍼 세트이므로 새로운 JS 기능 및 프로젝트에 필요한 표준에 대한 트랜스 패일을 배우기 시작할 수있는 좋은 선택 일 수 있습니다.

" TypeScript 기초 - Dan Wahlin John Papa 는 Typescript 1.8을 반영하도록 정말로 좋고 현재 (2016 년 3 월 25 일), Typescript 소개.

Intellisense의 좋은 가능성 옆에 정말 좋은 기능은 클래스 , interfaces 모듈 이며 구현의 용이함AMD 및 IE로 호출 할 때 Visual Studio Typescript 디버거를 사용할 수 있습니다.

요약 : 의도 한대로 사용되는 경우, Typescript는 자바 스크립트 프로그래밍을보다 안정적으로 프로그래밍 할 수 있고 쉽게 만들 수 있습니다.전체 SDLC에서 자바 스크립트 프로그래머의 생산성을 크게 높일 수 있습니다.

모든 브라우저가 지원하고 미리 컴파일하는

ECMA 스크립트 5 (ES5).ES6 / ES2015 및 ES / 2016이 올해 많은 변경 사항으로 왔으므로 이러한 변경 사항을 팝업하여 Typescript에 관심이 있어야합니다.

• TypeScript는 각 속성 및 메소드의 데이터 유형을 정의해야합니다.C #을 알고있는 경우 Typescript는 이해하기 쉽습니다.

• Typescript의 큰 장점은 생산에 가기 전에 일찍 ID 유형 관련 문제입니다.이렇게하면 유형이 일치하지 않으면 단위 테스트가 실패 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top