맨위로가기 타임라인 바로가기

타입스크립트

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
타임라인 바로가기

1. 개요

타입스크립트는 마이크로소프트에서 개발한 자바스크립트의 상위 집합으로, 2012년 처음 공개되었다. 정적 타입 지정, 타입 추론, 인터페이스, 제네릭 등 자바스크립트에 없는 다양한 언어 기능을 제공하여 코드의 안정성과 가독성을 높인다. 타입스크립트는 지속적으로 업데이트되어 왔으며, 주요 버전 업데이트를 통해 새로운 기능이 추가되고 있다. 타입스크립트는 자바스크립트 코드와 호환되며, 다양한 개발 도구와 IDE를 지원한다.

더 읽어볼만한 페이지

  • 2012년 개발된 프로그래밍 언어 - 줄리아 (프로그래밍 언어)
    줄리아는 2012년에 공개된 고수준 프로그래밍 언어로, 다중 디스패치, 동적 타입 시스템, C와 유사한 성능을 제공하며, 수치 계산, 과학 기술 계산 등에 활용된다.
  • 2012년 개발된 프로그래밍 언어 - 러스트 (프로그래밍 언어)
    러스트는 모질라 재단 후원으로 개발된 시스템 프로그래밍 언어로서, 높은 안정성과 병렬성을 제공하며 메모리 안전성을 보장하고 효율적인 리소스 관리를 가능하게 하여 웹 브라우저 엔진, 운영체제, 웹 서비스 등 다양한 분야에서 활용되며 개발자들에게 인기가 높다.
  • 자바스크립트 프로그래밍 언어 계열 - 커피스크립트
    커피스크립트는 자바스크립트 작성을 간소화하기 위해 고안된, 간결하고 표현력이 풍부한 문법을 가진 프로그래밍 언어로서, 자바스크립트로 컴파일되며, 셀프 호스팅 컴파일러, 소스 맵, 문학적 프로그래밍을 지원한다.
  • 자바스크립트 프로그래밍 언어 계열 - ECMA스크립트
    ECMAScript는 넷스케이프에서 개발한 스크립팅 언어의 표준 명세로, 자바스크립트 등을 포함하며, 구조적, 동적, 함수형 프로그래밍 기능을 지원하고 C 스타일의 구조적 프로그래밍과 약타입 언어 등의 특징을 갖는 언어이다.
  • 객체 기반 프로그래밍 언어 - 자바스크립트
    자바스크립트는 웹 페이지에 동적인 기능을 추가하기 위해 개발된 프로그래밍 언어로, 초기에는 라이브스크립트라 불렸으나 자바의 인기에 힘입어 변경되었고, ECMAScript로 표준화되어 웹 브라우저와 Node.js 등 다양한 환경에서 활용되지만, 오라클의 상표권 소유로 논란이 있다.
  • 객체 기반 프로그래밍 언어 - 비주얼 베이직
    비주얼 베이직은 1991년 마이크로소프트에서 출시된 GUI 기반 응용 프로그램 개발에 강점을 가진 프로그래밍 언어이며, 윈도우용 응용 프로그램 및 데이터베이스 조작 프로그램 개발에 주로 사용되었고, 2005년 표준 지원이 중단되었다.
타입스크립트 - [IT 관련 정보]에 관한 문서
기본 정보
타입스크립트 로고
타입스크립트 로고
파일 확장자.ts, .tsx, .mts, .cts
출시일2012년 10월 1일
설계자마이크로소프트
개발자마이크로소프트
웹사이트타입스크립트 공식 웹사이트
특징
프로그래밍 패러다임멀티 패러다임: 함수형, 제네릭, 명령형, 객체 지향
타이핑덕 타이핑, 점진적, 구조적
영향 받은 언어C#, F#, Java, JavaScript, ActionScript
영향을 준 언어AtScript, AssemblyScript, ArkTS
라이선스
라이선스Apache License 2.0

2. 역사

타입스크립트는 마이크로소프트가 개발하고 유지 관리하는 자유 오픈 소스 프로그래밍 언어이다. 2012년 10월, 2년간의 내부 개발을 거쳐 버전 0.8로 처음 공개되었다.[12][13] 초기에는 리눅스와 macOS를 지원하지 않아 비판받기도 했지만,[14][15] 이후 다양한 IDE 및 텍스트 편집기에서 지원되기 시작했다.[17]

2013년에는 제네릭 프로그래밍을 지원하는 버전 0.9가 출시되었고,[18] 2014년 마이크로소프트의 빌드 개발자 컨퍼런스에서 버전 1.0이 출시되었다.[19] 2016년에는 null 안전성을 적용할 수 있는 기능이 포함된 버전 2.0이 출시되었고,[22] 2018년에는 버전 3.0이 출시되어 튜플 관련 기능 등 여러 언어 기능이 추가되었다.[24] 2020년에는 버전 4.0이 출시되어 가변 튜플 타입, JSX 팩토리 등의 기능이 추가되었으며,[25] 2023년에는 버전 5.0이 출시되어 데코레이터 지원이 추가되었다.[26]

2. 1. 주요 버전 및 출시일

버전 번호출시일주요 변경 사항
0.82012년 10월 1일
0.92013년 6월 18일제네릭 지원[18]
1.02014년 4월 12일빌드 개발자 컨퍼런스에서 출시[19], 비주얼 스튜디오 2013 업데이트 2에 타입스크립트 내장 지원[20]
1.12014년 10월 6일성능 5배 향상[21]
1.32014년 11월 12일
1.42015년 1월 20일
1.52015년 7월 20일
1.62015년 9월 16일
1.72015년 11월 30일
1.82016년 2월 22일
2.02016년 9월 22일10억 달러 실수라고 불리는 문제를 완화하는 null 안전성 선택적 적용 기능[22]
2.12016년 11월 8일
2.22017년 2월 22일
2.32017년 4월 27일
2.42017년 6월 27일
2.52017년 8월 31일
2.62017년 10월 31일
2.72018년 1월 31일
2.82018년 3월 27일
2.92018년 5월 14일
3.02018년 7월 30일튜플 관련 기능 (나머지 매개변수, 스프레드 표현식 등)[24]
3.12018년 9월 27일
3.22018년 11월 30일
3.32019년 1월 31일
3.42019년 3월 29일
3.52019년 5월 29일
3.62019년 8월 28일
3.72019년 11월 5일
3.82020년 2월 20일
3.92020년 5월 12일
4.02020년 8월 20일사용자 지정 JSX 팩토리, 가변 튜플 타입[25]
4.12020년 11월 19일
4.22021년 2월 25일
4.32021년 5월 26일
4.42021년 8월 26일
4.52021년 11월 17일
4.62022년 2월 28일
4.72022년 5월 24일
4.82022년 8월 25일
4.92022년 11월 15일
5.02023년 3월 16일데코레이터 지원[26]
5.12023년 6월 1일
5.22023년 8월 24일
5.32023년 11월 20일
5.42024년 3월 6일
5.52024년 6월 20일
5.62024년 9월 9일


3. 언어 기능

타입스크립트는 자바스크립트(ECMAScript 5)에 다음과 같은 언어 기능을 추가하여 확장했다.[27][28]


  • 타입 표기 및 컴파일 시점 타입 검사
  • 타입 추론
  • 인터페이스
  • 열거형
  • 제네릭
  • 네임스페이스
  • 튜플
  • 명시적 자원 관리[29]
  • 공용체 타입, Intersection type|교차 타입영어
  • 타입 별칭
  • 클래스
  • 화살표 함수식 (람다식)
  • 선택적 인수, 기본 인수
  • 모듈[79]
  • 분할 할당
  • Symbol
  • 데코레이터
  • async/await


구문적으로 타입스크립트는 JScript .NET과 매우 유사하며, JScript .NET 역시 정적 타입 지정과 클래스, 상속, 인터페이스, 네임스페이스와 같은 고전적인 객체 지향 언어 기능을 지원하는 Microsoft의 ECMA-262 언어 표준 구현체이다. 다른 영감은 자바와 C#을 포함한다.

3. 1. 타입 어노테이션 (Type Annotations)

타입스크립트는 컴파일 타임에 타입 검사를 가능하게 하기 위해 타입 어노테이션을 통해 정적 타이핑을 제공한다.

```typescript

function add(left: number, right: number): number {

return left + right;

}

```

기본 타입은 `number`, `boolean`, `bigint`, `string`과 같이 소문자로 된 타입을 사용하여 어노테이션을 한다. 이 타입들은 값을 직접적으로 연산할 수 없는 박싱된 타입(`Number`, `Boolean` 등)과는 구별된다 (`Number`와 `number`는 더할 수 없다). 또한 해당 값에 대한 `undefined`와 `null` 타입이 있다.

다른 모든 비기본 타입은 `Error`와 같이 클래스 이름을 사용하여 어노테이션을 한다. 배열은 제네릭 기반 구문 `Array`과 `T[]`의 단축 구문과 같이 두 가지 방식으로 작성할 수 있으며, 둘 다 구문적으로 동일하다.

추가적인 내장 데이터 타입에는 튜플, 유니온, `never` 및 `any`가 있다.

  • 튜플은 각 인덱스에 미리 정의된 데이터 타입을 가진 배열로, `[type1, type2, ..., typeN]`으로 표현된다.
  • 유니온은 둘 이상의 데이터 타입을 가질 수 있는 변수를 나타내며, 논리적 OR 기호 `|`를 사용하여 `string | number`와 같이 표현된다.
  • `never` 타입은 주어진 타입을 생성하는 것이 불가능해야 할 때 사용되며, 매핑된 타입을 필터링하는 데 유용하다.
  • `any` 타입의 값은 JavaScript의 값과 동일한 연산을 지원하며 최소한의 정적 타입 검사만 수행되므로,[30] 약하게 또는 동적으로 타입이 지정된 구조에 적합하다. 이는 일반적으로 권장되지 않으며 가능한 경우 피해야 한다.[31]


타입 어노테이션은 JavaScript로 이미 컴파일된 타입을 사용하여 타입 정보를 타입스크립트 스크립트에서 사용할 수 있도록 별도의 ''선언 파일''로 내보낼 수 있다. 어노테이션은 Node.js 및 jQuery에 대해 수행된 것처럼 기존 JavaScript 라이브러리에 대해 선언할 수 있다.

타입스크립트 컴파일러는 타입이 주어지지 않은 경우 타입 추론을 사용한다. 예를 들어, 위의 코드에서 `add` 메서드는 반환 타입 어노테이션이 제공되지 않았더라도 `number`를 반환하는 것으로 추론된다. 이는 `left`와 `right`의 정적 타입이 `number`이고, 두 `number`를 더한 결과가 항상 `number`라는 컴파일러의 지식을 기반으로 한다. 선언이 부족하여 (타입이 없는 JavaScript 모듈과 같이) 타입을 추론할 수 없는 경우, 동적 `any` 타입으로 기본 설정된다.

3. 1. 1. 선언 파일 (Declaration Files)

타입스크립트를 컴파일할 때, "형 선언 파일"(확장자`.d.ts`)을 생성하는 옵션이 있다. 이 형 선언 파일은 컴파일되어 생성된 JavaScript 내의 컴포넌트에 대한 인터페이스 역할을 한다. 컴파일러는 형 선언 파일 생성 과정에서 함수나 메서드의 코드 내용을 모두 제거하고, 출력되는 형의 시그니처만 남긴다. 그 결과로 생성된 형 선언 파일에는, 출력된 JavaScript 라이브러리 또는 모듈의 가상적인 타입스크립트 형이 기술되어 있으며, 제3자가 타입스크립트를 작성할 때 이 형 선언 파일을 읽어 사용할 수 있다.

이 형 선언 파일의 개념은 C 언어나 C++(C++)에서의 헤더 파일과 매우 유사하다.

기존 JavaScript 라이브러리를 위한 형 선언 파일은 수동으로 작성할 수도 있으며, 이미 jQuery, Node.js에 대해 이루어졌다.

jQuery, MongoDB, D3.js, Node.js와 같은 인기 있는 JavaScript 라이브러리에 대한 형 선언 파일을 다수 모아둔 것이, GitHub의 [https://github.com/DefinitelyTyped/DefinitelyTyped DefinitelyTyped][84] 및 [https://github.com/typings/registry Typings Registry]에 공개되어 있다. 저장소에서 형 선언 파일을 검색하고 설치하는 것을 돕기 위해 `[https://github.com/typings/typings typings]`라는 명령줄 유틸리티가 제공된다.

3. 2. 타입 추론 (Type Inference)

타입스크립트는 변수, 인수, 반환값 등의 타입을 선언할 때 타입을 명시하지 않아도, 컴파일 시 타입 검사를 수행하며 타입 추론을 지원한다. 타입 가드는 if문의 instanceof 등을 이용한 타입 추론을 의미한다.[79]

3. 3. 인터페이스 (Interfaces)

타입스크립트는 객체의 구조를 정의하는 타입으로, 객체가 가져야 할 속성과 메서드를 명시하는 인터페이스 기능을 제공한다.[79]

3. 4. 열거형 (Enumerated Types)

타입스크립트는 ECMAScript 5에 여러 기능을 추가했는데, 그중 하나는 열거형이다. 열거형은 숫자 또는 문자열 값의 집합에 이름을 붙여 코드의 가독성을 높이는 데 사용된다.[79]

3. 5. 제네릭 (Generics)

타입스크립트는 자바와 유사한 구문을 사용하여 제네릭 프로그래밍을 지원한다.[32] 다음은 항등 함수의 예시이다.[33]

```typescript

function id(x: T): T {

return x;

}

```

타입스크립트 고유 기능에는 제네릭이 포함된다.

3. 6. 클래스 (Classes)

타입스크립트는 클래스 메서드와 필드에 대해 각각 함수와 변수와 동일한 주석 스타일을 사용한다. 순수 자바스크립트 클래스와 비교하여, 타입스크립트 클래스는 `implements` 키워드를 통해 인터페이스를 구현하고, 자바와 유사하게 제네릭 매개변수를 사용하며, `public` 및 `private` 필드를 지정할 수 있다.

```typescript

class Person {

public name: string;

private age: number;

private salary: number;

constructor(name: string, age: number, salary: number) {

this.name = name;

this.age = age;

this.salary = salary;

}

toString(): string {

return `${this.name} (${this.age}) (${this.salary})`;

}

}

```

타입스크립트는 ECMAScript 5에 클래스 등의 언어 기능 확장을 더한 것이다.[79]

3. 7. 네임스페이스 (Namespaces)

타입스크립트는 자바스크립트 (ECMAScript 5)에 네임스페이스 기능을 추가한 것이다.[79] 네임스페이스는 코드를 논리적인 그룹으로 묶어 이름 충돌을 방지하며, JavaScript의 즉시 실행 함수 표현식을 사용하여 구현된다.

3. 8. 튜플 (Tuples)

타입스크립트는 고유 기능으로 튜플 타입을 지원한다. 튜플은 정해진 개수의 요소와 각 요소의 타입이 고정된 배열이다.[79]

3. 9. 유니온 타입 (Union Types)

타입스크립트는 공용체 타입, Intersection type|교차 타입영어을 지원한다.[79]

3. 10. 기타 기능


  • 믹스인[79]
  • Intersection type|교차 타입영어
  • 타입 별칭
  • 화살표 함수 (람다식)
  • 선택적 인수, 기본 인수
  • 분할 할당
  • Symbol
  • 데코레이터
  • async/await

4. 개발 도구

타입스크립트 개발에는 다양한 도구들이 사용된다. 마이크로소프트는 Visual Studio 2012 및 WebMatrix용 플러그인을 제공하며, Visual Studio 2013, Visual Studio 2015에서는 타입스크립트가 완벽하게 통합 지원된다. 또한, Emacs 및 Vim에 대한 기본적인 텍스트 편집기 지원도 제공한다.[36]

Visual Studio Code는 타입스크립트를 지원하며 디버깅 및 지능형 코드 완성과 같은 기능을 제공한다. alm.tools는 TypeScript, ReactJS 및 TypeStyle을 사용하여 구축된 TypeScript용 오픈 소스 클라우드 IDE이다.

JetBrains는 PhpStorm 6, WebStorm 6, IntelliJ IDEA와 같은 IntelliJ 플랫폼 기반 IDE에서 코드 완성, 리팩토링 및 디버깅을 지원하며,[37] Visual Studio 추가 기능 및 확장인 ReSharper 8.1도 지원한다.[38][39]

Atom에는 코드 완성, 탐색, 서식 지정 및 빠른 컴파일을 지원하는 TypeScript 플러그인이 있다.[40] Cloud9 IDE, Codenvy, Codeanywhere와 같은 온라인 IDE도 타입스크립트를 지원한다.

NetBeans와 Eclipse IDE용 플러그인도 사용 가능하다. TypEcs는 Eclipse IDE에서 사용할 수 있다. Webclipse는 TypeScript 및 Angular 2 개발을 위해 설계된 Eclipse 플러그인이다. Angular IDE는 통합 터미널 지원과 함께 TypeScript 및 Angular 2 응용 프로그램을 개발하기 위해 npm을 통해 사용할 수 있는 독립 실행형 IDE이다. Tide는 Emacs용 TypeScript 대화형 개발 환경이다.

다음은 타입스크립트를 지원하는 통합 개발 환경(IDE)과 텍스트 편집기 목록이다.

IDE/편집기지원 내용
Microsoft Visual Studio2013 Update 2부터 표준 탑재, JetBrains사의 ReSharper 플러그인[87]
Visual Studio Code
WebMatrix
IntelliJ IDEA, WebStorm
이클립스[https://github.com/palantir/eclipse-typescript Eclipse TypeScript Plug-in], [http://typecsdev.com/ TypEcs]
NetBeans[https://github.com/Everlaw/nbts NetBeans TypeScript Editor]
텍스트 편집기Sublime Text, Emacs, Vim
클라우드 컴퓨팅형 IDECloud9 IDE, Codenvy, Codeanywhere



플러그인을 사용하여, 타입스크립트는 Grunt (grunt-ts[41]), 아파치 메이븐(TypeScript Maven Plugin[42]), Gulp (gulp-typescript[43]) 및 Gradle (TypeScript Gradle Plugin[44])을 포함한 빌드 자동화 도구와 통합될 수 있다.

TSLint[45]는 타입스크립트 코드를 검사하는 도구였으나, 2019년 초 사용 중단되었다. 표준 자바스크립트 린터인 ESLint도 커뮤니티 플러그인을 통해 타입스크립트를 일부 지원했지만, ESLint는 타입스크립트의 언어 서비스를 활용할 수 없어 특정 형태의 의미론적 린팅 및 프로그램 전체 분석을 수행할 수 없었다.[46] 이후, TSLint, ESLint 및 타입스크립트 팀의 공동 노력인 `typescript-eslint`가 ESLint를 중심으로 린팅을 통합하여 성능 향상, 커뮤니티 통합, 개발자 접근성을 높였다.[47]

4. 1. 컴파일러 (Compiler)

`tsc`라고 불리는 타입스크립트 컴파일러는 타입스크립트로 작성되었다. 결과적으로 일반적인 자바스크립트로 컴파일될 수 있으며, 브라우저와 같은 모든 자바스크립트 엔진에서 실행될 수 있다. 컴파일러 패키지에는 컴파일러를 실행할 수 있는 스크립트 호스트가 함께 제공된다. 또한 Node.js를 호스트로 사용하는 Node.js 패키지로도 사용할 수 있다.[86]

컴파일러는 특정 ECMAScript 에디션(예: 구형 브라우저 호환성을 위한 ES5)을 "타겟팅"할 수 있지만, 기본적으로 최신 표준을 위해 컴파일된다.[86]

타입스크립트 컴파일러 `tsc` 자체도 타입스크립트로 작성되었다 (셀프 호스팅). 이는 일반적인 자바스크립트로 컴파일 가능하며, 임의의 호스트 상의 자바스크립트 엔진 (예: 브라우저 등)에서 실행할 수 있다. 라이선스는 아파치 라이선스 2.0이다. 컴파일러 패키지는 컴파일러를 실행할 수 있는 스크립트 호스트에 동봉되어 제공된다. Node.js 등과 함께 컴파일러 패키지로 배포되는 경우도 있다.[86]

또한, 자바스크립트로 작성된 클라이언트 측 컴파일러의 알파 버전도 있다.[86]

타입스크립트로 작성된 코드를 브라우저에서 실행하려면 컴파일이 필요하다.

```

tsc --strict -t es5 *.ts

4. 2. IDE 및 편집기 지원

마이크로소프트는 Visual Studio 2012 및 WebMatrix용 플러그인을 제공하며, Visual Studio 2013, Visual Studio 2015에서 완벽하게 통합된 지원과 Emacs 및 Vim에 대한 기본적인 텍스트 편집기 지원을 제공한다.[36]

Visual Studio Code는 다른 여러 언어 외에도 TypeScript를 지원하며 디버깅 및 지능형 코드 완성과 같은 기능을 제공한다.

alm.tools는 TypeScript, ReactJS 및 TypeStyle을 사용하여 구축된 TypeScript용 오픈 소스 클라우드 IDE이다.

JetBrains는 PhpStorm 6, WebStorm 6, IntelliJ IDEA와 같은 IntelliJ 플랫폼 기반 IDE에서 코드 완성, 리팩토링 및 디버깅을 지원하며,[37] Visual Studio 추가 기능 및 확장인 ReSharper 8.1도 지원한다.[38][39]

Atom에는 코드 완성, 탐색, 서식 지정 및 빠른 컴파일을 지원하는 TypeScript 플러그인이 있다.[40]

온라인 Cloud9 IDE 및 Codenvy는 TypeScript를 지원한다.

NetBeans IDE용 플러그인을 사용할 수 있다.

Eclipse IDE (버전 Kepler)용 플러그인을 사용할 수 있다.

TypEcs는 Eclipse IDE에서 사용할 수 있다.

크로스 플랫폼 클라우드 IDE인 Codeanywhere는 TypeScript를 지원한다.

Webclipse는 TypeScript 및 Angular 2를 개발하기 위해 설계된 Eclipse 플러그인이다.

Angular IDE는 통합 터미널 지원과 함께 TypeScript 및 Angular 2 응용 프로그램을 개발하기 위해 npm을 통해 사용할 수 있는 독립 실행형 IDE이다.

Tide는 Emacs용 TypeScript 대화형 개발 환경이다.

다음은 타입스크립트를 지원하는 통합 개발 환경(IDE)과 텍스트 편집기 목록이다.

IDE/편집기지원 내용
Microsoft Visual Studio2013 Update 2부터 표준 탑재, JetBrains사의 ReSharper 플러그인[87]
Visual Studio Code
WebMatrix
IntelliJ IDEA, WebStorm
이클립스[https://github.com/palantir/eclipse-typescript Eclipse TypeScript Plug-in], [http://typecsdev.com/ TypEcs]
NetBeans[https://github.com/Everlaw/nbts NetBeans TypeScript Editor]
텍스트 편집기Sublime Text, Emacs, Vim
클라우드 컴퓨팅형 IDECloud9 IDE, Codenvy, Codeanywhere


4. 3. 빌드 자동화 도구 통합

플러그인을 사용하여, 타입스크립트는 Grunt (grunt-ts[41]), 아파치 메이븐(TypeScript Maven Plugin[42]), Gulp (gulp-typescript[43]) 및 Gradle (TypeScript Gradle Plugin[44])을 포함한 빌드 자동화 도구와 통합될 수 있다.

4. 4. 린팅 도구 (Linting Tools)

TSLint[45]는 일련의 표준 및 지침에 따라 타입스크립트 코드를 검사하는 도구였다. 표준 자바스크립트 린터인 ESLint도 커뮤니티 플러그인을 통해 타입스크립트를 일부 지원했다. 그러나 ESLint는 타입스크립트의 언어 서비스를 활용할 수 없어 특정 형태의 의미론적 린팅 및 프로그램 전체 분석을 수행할 수 없었다.[46] 2019년 초, TSLint 팀은 성능 향상, 커뮤니티 통합, 개발자 접근성을 위해 ESLint를 중심으로 린팅을 통합하는 TSLint, ESLint 및 타입스크립트 팀의 공동 노력인 `typescript-eslint`를 선호하며 TSLint의 사용 중단을 발표했다.[47]

5. 자바스크립트와의 호환성

타입스크립트는 자바스크립트의 상위 집합이므로, 기존의 자바스크립트 코드를 타입스크립트로 빠르게 전환할 수 있으며, 타입스크립트 프로그램은 자바스크립트를 원활하게 사용할 수 있다.[35] 타입스크립트는 ECMAScript 2015의 엄격한 슈퍼셋이며, ECMAScript 2015는 ECMAScript 5(일반적으로 JavaScript라고 불리는 것)의 슈퍼셋이다.[80] 따라서, JavaScript 프로그램은 유효한 타입스크립트 프로그램이기도 하므로, 타입스크립트 프로그램은 JavaScript를 경계 없이 이용할 수 있다.

기본 설정으로는 컴파일러가 ECMAScript 3을 출력하지만, 옵션에 따라 ECMAScript 3부터 최신 ECMAScript까지 출력 대상을 선택할 수 있다.

타입스크립트에서는 기존의 JavaScript 코드를 사용할 수 있다. 즉, 인기 있는 JavaScript 라이브러리를 사용할 수 있으며, 다른 JavaScript에서 타입스크립트로 만들어진 코드를 호출할 수도 있다.[81] 이러한 외부 라이브러리에 대한 타입 선언은, DefinitelyTyped에 수록되어 있다면 npm을 사용하여 간단하게 설치할 수 있다.[82]

참조

[1] 웹사이트 TypeScript https://web.archive.[...] 2015-04-26
[2] 웹사이트 Type Compatibility https://www.typescri[...] 2018-03-21
[3] 웹사이트 The Early History of F# https://fsharp.org/h[...] 2024-02-05
[4] 웹사이트 How ActionScript foreshadowed TypeScript https://javascript.p[...] 2020-04-28
[5] 웹사이트 Microsoft TypeScript: the JavaScript we need, or a solution looking for a problem? https://arstechnica.[...] Condé Nast 2012-10-03
[6] 웹사이트 TypeScript Programming with Visual Studio Code https://code.visuals[...] 2019-02-12
[7] 웹사이트 borisyankov/DefinitelyTyped https://github.com/b[...] 2015-04-26
[8] 웹사이트 Microsoft takes the wraps off TypeScript, a superset of JavaScript https://www.zdnet.co[...] CBS Interactive 2012-10-01
[9] 웹사이트 Somasegar's blog http://blogs.msdn.co[...] Microsoft 2012-10-01
[10] 웹사이트 Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript? https://www.zdnet.co[...] 2012-10-01
[11] 웹사이트 Microsoft Augments Javascript for Large-scale Development https://web.archive.[...] IDG Enterprise 2012-10-01
[12] 웹사이트 Microsoft augments JavaScript for large-scale development http://www.infoworld[...] IDG 2012-10-01
[13] 웹사이트 Announcing TypeScript 1.0 https://devblogs.mic[...] Microsoft 2014-04-02
[14] 웹사이트 TypeScript: First Impressions http://tirania.org/b[...] 2012-10-01
[15] 웹사이트 Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript? https://www.zdnet.co[...] ZDNet 2012-10-01
[16] 웹사이트 TypeStrong: The only TypeScript package you will ever need https://github.com/T[...]
[17] 웹사이트 Working with TypeScript in Visual Studio 2012 http://www.drdobbs.c[...] 2013-05-14
[18] 웹사이트 TypeScript 0.9 arrives with new compiler, support for generics https://www.theregis[...] 2013-06-18
[19] 웹사이트 TypeScript http://channel9.msdn[...] Microsoft 2014-04-02
[20] 웹사이트 Microsoft TypeScript graduates to Visual Studio http://www.pcworld.c[...] IDG 2014-02-25
[21] 웹사이트 New Compiler and Moving to GitHub https://web.archive.[...] Microsoft 2014-07-21
[22] 웹사이트 TypeScript, Microsoft's JavaScript for big applications, reaches version 2.0 https://arstechnica.[...] Condé Nast 2016-09-22
[23] 웹사이트 Announcing TypeScript 3.0 https://devblogs.mic[...] 2018-07-30
[24] 웹사이트 TypeScript 3.0 https://www.typescri[...] 2018-07-30
[25] 웹사이트 Announcing TypeScript 4.0 https://devblogs.mic[...] 2020-08-20
[26] 웹사이트 Documentation – TypeScript 5.0 https://www.typescri[...] 2023-05-18
[27] 웹사이트 What is TypeScript and why with Anders Hejlsberg http://www.hanselmin[...] www.hanselminutes.com 2012-10-05
[28] 웹사이트 TypeScript: JavaScript Development at Application Scale http://blogs.msdn.co[...] msdn.com 2012-10-01
[29] 웹사이트 Documentation – TypeScript 5.2 https://www.typescri[...] 2023-11-09
[30] 웹사이트 TypeScript Language Specification p.24 http://www.typescrip[...]
[31] 웹사이트 TypeScript: Documentation – Everyday Types https://www.typescri[...] 2021-03-30
[32] 웹사이트 Announcing TypeScript 0.9 http://blogs.msdn.co[...] Microsoft 2013-06-18
[33] 웹사이트 Generics in Typescript https://www.typescri[...] Microsoft
[34] 웹사이트 An introduction to TypeScript's module system https://web.archive.[...] blog.oio.de 2014-01-31
[35] 웹사이트 Welcome to TypeScript http://www.typescrip[...] Microsoft 2015-04-26
[36] 웹사이트 Sublime Text, Vi, Emacs: TypeScript enabled! http://blogs.msdn.co[...] Microsoft 2012-10-01
[37] 웹사이트 TypeScript support in WebStorm 6 http://blog.jetbrain[...] JetBrains 2013-02-27
[38] 웹사이트 TypeScript support in ReSharper 8.1 http://blog.jetbrain[...] JetBrains 2013-10-28
[39] 웹사이트 ReSharper: The Visual Studio Extension for .NET Developers by JetBrains https://www.jetbrain[...]
[40] 웹사이트 atom-typescript https://atom.io/pack[...] 2020-01-09
[41] 웹사이트 TypeStrong/grunt-ts https://github.com/b[...] 2015-04-26
[42] 웹사이트 ppedregal/typescript-maven-plugin https://github.com/p[...] 2015-04-26
[43] 웹사이트 ivogabe/gulp-typescript https://github.com/i[...] 2017-07-14
[44] 웹사이트 sothmann/typescript-gradle-plugin https://github.com/s[...] 2015-04-26
[45] 웹사이트 TSLint https://palantir.git[...] 2019-02-11
[46] 웹사이트 TSLint in 2019 https://medium.com/p[...] 2019-02-19
[47] 웹사이트 TSLint Deprecated to Focus Support on typescript-eslint https://www.infoq.co[...] 2019-04-24
[48] 웹사이트 CodeDOM https://learn.micros[...] 2024-03-30
[49] 웹사이트 CodeDOMProvider https://learn.micros[...] 2023-12-08
[50] 웹사이트 TypeScript CodeDOM Provider https://github.com/z[...] 2024-02-26
[51] 문서 TypeScript - Download: TypeScript 0.8.0 https://typescript.c[...]
[52] 뉴스 Microsoft takes the wraps off TypeScript, a superset of JavaScript | ZDNet http://www.zdnet.com[...]
[53] 뉴스 TypeScript: JavaScript Development at Application Scale - Somasegar's blog - Site Home - MSDN Blogs http://blogs.msdn.co[...]
[54] 뉴스 Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript? | ZDNet http://www.zdnet.com[...]
[55] 뉴스 Microsoft Augments Javascript for Large-scale Development CIO.com http://www.cio.com/a[...]
[56] 웹사이트 borisyankov/DefinitelyTyped https://github.com/b[...] null
[57] 문서 TypeScript Homepage http://www.typescrip[...]
[58] 문서 TypeScript 1.0 Tools for Visual Studio 2012 https://visualstudio[...]
[59] 웹사이트 Microsoft augments JavaScript for large-scale development http://www.infoworld[...] International Data Group 2012-10-01
[60] 웹사이트 Announcing TypeScript 1.0 http://blogs.msdn.co[...] マイクロソフト 2014-04-02
[61] 웹사이트 TypeScript: First Impressions http://tirania.org/b[...] 2012-10-01
[62] 웹사이트 Microsoft TypeScript: Can the father of C# save us from the tyranny of JavaScript? http://www.zdnet.com[...] ZDNet 2012-10-01
[63] 웹사이트 TypeScript-Unterstützung für Eclipse http://www.heise.de/[...] 2013-08-06
[64] 웹사이트 TypeScript http://marketplace.e[...] Eclipse Foundation
[65] 웹사이트 Working with TypeScript in Visual Studio 2012 http://www.drdobbs.c[...] 2013-05-14
[66] 웹사이트 TypeStrong: The only TypeScript package you will ever need https://github.com/T[...]
[67] 웹사이트 TypeScript 0.9 arrives with new compiler, support for generics http://www.theregist[...] 2013-06-18
[68] 웹사이트 TypeScript http://channel9.msdn[...] マイクロソフト 2014-04-02
[69] 웹사이트 Microsoft TypeScript graduates to Visual Studio http://www.pcworld.c[...] International Data Group 2014-02-25
[70] 웹사이트 New Compiler and Moving to GitHub http://blogs.msdn.co[...] マイクロソフト 2014-07-21
[71] 웹사이트 TypeScript, Microsoft’s JavaScript for big applications, reaches version 2.0 http://arstechnica.c[...] Condé Nast 2016-09-22
[72] 웹사이트 TypeScript’s New Release Cadence https://blogs.msdn.m[...] 2017-03-27
[73] 웹사이트 Documentation - TypeScript 3.0 https://www.typescri[...] 2023-01-27
[74] 웹사이트 Announcing TypeScript 4.0 https://devblogs.mic[...] 2020-08-20
[75] 웹사이트 Announcing TypeScript 4.9 https://devblogs.mic[...] 2022-11-15
[76] 웹사이트 Documentation - TypeScript 5.0 https://www.typescri[...] 2023-05-18
[77] 웹사이트 What is TypeScript and why with Anders Hejlsberg http://www.hanselmin[...] www.hanselminutes.com 2012-10-05
[78] 웹사이트 TypeScript: JavaScript Development at Application Scale http://blogs.msdn.co[...] msdn.com 2012-10-01
[79] URL http://techcrunch.co[...]
[80] 웹사이트 Angular 2 https://angular.io/d[...] 2016-05-04
[81] 웹사이트 Welcome to TypeScript http://www.typescrip[...] マイクロソフト 2015-04-26
[82] 웹사이트 Consumption · TypeScript http://www.typescrip[...] 2017-11-29
[83] 문서 TypeScript Language Specification p.24 http://www.typescrip[...]
[84] 웹사이트 borisyankov/DefinitelyTyped https://github.com/b[...] 2015-04-26
[85] 문서 "Module -module Sets the module system for the program." https://www.typescri[...] TypeScript 2023-02-20
[86] 웹사이트 niutech/typescript-compile https://github.com/n[...] 2015-04-26
[87] URL The Most Intelligent Extension for Visual Studio :: ReSharper - C#, VB.NET, LINQ, ASP.NET, ASP.NET MVC, XAML, XML, JavaScript, HTML, build scripts. Best-of-breed tools for code refactoring, code quality analysis, code cleanup, navigation, code generation, unit testing, and code templates. https://www.jetbrain[...]
[88] 웹인용 TypeScript https://typescript.c[...] 2015-04-26
[89] 웹인용 Type Compatibility https://www.typescri[...] 2018-03-21
[90] 뉴스 Microsoft takes the wraps off TypeScript, a superset of JavaScript http://www.zdnet.com[...] ZDNet 2018-02-14
[91] 뉴스 Microsoft TypeScript: the JavaScript we need, or a solution looking for a problem? https://arstechnica.[...] Ars Technica 2018-02-14

관련 사건 타임라인

( 최근 20개의 뉴스만 표기 됩니다. )



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com