TypeScript

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索
TypeScript
TypeScript Logo.png
パラダイム マルチパラダイム: スクリプト, オブジェクト指向, 構造化, 命令型, 関数型, ジェネリック
登場時期 2012年10月1日 (2012-10-01)[1]
設計者 マイクロソフト
開発者 マイクロソフト
最新リリース 1.8 / 2016年1月(4 ヶ月前) (2016-01
影響を受けた言語 JavaScript, Java, C#
影響を与えた言語 AtScript
ライセンス Apache License 2.0
ウェブサイト www.typescriptlang.org
拡張子 .ts

TypeScriptマイクロソフトによって開発されたフリーオープンソースのプログラミング言語である。TypeScript は JavaScript に対して、省略も可能な静的型付けとクラスベースオブジェクト指向を加えたスーパーセットとなっている。C# のリードアーキテクトであるアンダース・ヘルスバーグが TypeScript の開発に関わっている。 [2][3][4][5]

TypeScript は大規模なアプリケーションの開発のために設計されており、コンパイルすると JavaScript のソースコードを出力する。 [6] TypeScript は型定義ファイルをサポートしており、既存の JavaScript ライブラリを型情報を付与して利用できる。

背景[編集]

より大規模な JavaScript アプリケーションの開発における必要性から TypeScript は生まれた。 [7] マイクロソフトの関係者によれば、内部のみならず外部の顧客も JavaScript でコードを構成する際の問題について述べていたという。 [8]

TypeScript の開発者はその解決策を探していたが、それは標準やクロスプラットフォームサポートにおける互換性を破綻させない必要もあった。現在の ECMAScript 言語標準が将来的にクラスベースオブジェクト指向をサポートする提案があることを踏まえ、TypeScript はその提案に基づくことになった。これにより、その提案に基づいたスーパーセットであり、拡張部分を一般的な JavaScript へと変換するような、構文的な言語拡張がある JavaScript コンパイラへと至ることとなった。この意味では TypeScript は ECMAScript 6 において期待されている機能を先取りするようなものであるともいえる。ECMAScript の提案にないが TypeScript に独自に搭載された機能として、言語の静的解析やツールのサポートを強化し快適な開発環境を提供できるようにする、使用するかどうかを選択可能な静的型付けがある。

言語の特長[編集]

TypeScript は JavaScript (ECMAScript 5) に次のような言語機能の拡張を加えたものである。

ECMAScript 6 由来

ECMAScript 7 由来

  • デコレーター
  • Async/Await

独自

構文的には、静的型付けやクラス、継承、インターフェイスのようなオブジェクト指向、名前空間などの機能を追加する、ECMA-262 言語標準のマイクロソフトによる実装である JScript.NET と TypeScript はよく似ている。

開発ツール[編集]

コンパイラ[編集]

TypeScript コンパイラtsc自体も TypeScript で作成されており、JavaScript にコンパイルして利用される。ライセンスは Apache License 2.0 である。各種の JavaScript エンジン上で動作し、Node.js 等と共にコンパイラ・パッケージとして配布される場合もある。

現在のバージョン (1.8) では、コンパイラのデフォルト設定では ECMAScript 3 のコードが出力される。設定の変更で ECMAScript 5 や 6 も出力できる。TypeScript の先行機能または独自機能は対象の ECMAScript バージョンで実行可能なコードに変換されるが、一部の機能はバージョンの若い ECMAScript では動作しない場合もある。

型宣言ファイル[編集]

既存の JavaScript ライブラリに対する型付けが http://definitelytyped.org/ にて公開、管理されている。jQuery, MongoDB, D3.js, Node.jsといったよく知られたライブラリに対しても型情報の恩恵が得られる。 [10]

開発環境[編集]

以下の統合開発環境テキストエディタが TypeScript に対応している。

関連項目[編集]

注釈[編集]

外部リンク[編集]