これから TypeScript を学ぶためのだいいっぽ
この記事は?
- TypeScript についての記事をまとめている
Why
- TypeScript を扱ったフロントエンド実装が増えていると聞く
- なので、TypeScript とはどのようなものなのかをまずはリサーチしたいと思ったので、まとめる
まとめ
TypeScript とはどんな言語か
- マイクロソフト製のオープンソースなプログラミング言語
- クラスベースのオブジェクト指向
- JavaScriptと互換性を持つスーパーセット
- コンパイルすると、JavaScriptのソースコードになる
- 間違った型の代入を防げる(静的型付け)
参考元
引用メモ
function Person(name) { this.name = name; } Person.prototype.say = function(message, count) { for (var i = 1; i <= count; i++) { console.log(this.name + " says " + message + " " + i); } } var person = new Person("Bill"); person.say("Hello!", 3);
TypeScript
class Person { constructor(private name: string) {} public say(message: string, count: number) { for (let i = 1; i <= count; i++) { console.log(`${this.name} says ${message} ${i}`); } } } const person = new Person("Bill"); person.say("Hello!", 3);
TypeScript では JavaScript のコードをそのまま使えます。ループや条件分岐、関数呼び出しなどの JavaScript の構文はそのままで、それに追加して静的型付けやクラス宣言ができるようになっています。
Wikipedia
TypeScript
TypeScript はマイクロソフトによって開発され、メンテナンスされているフリーでオープンソースのプログラミング言語である。TypeScriptはJavaScriptに対して、省略も可能な静的型付けとクラスベースオブジェクト指向を加えた厳密なスーパーセットとなっている。C# のリードアーキテクトであり、DelphiとTurbo Pascalの開発者でもあるアンダース・ヘルスバーグが TypeScript の開発に関わっている。TypeScriptはクライアントサイド、あるいはサーバサイド (Node.js) で実行されるJavaScriptアプリケーションの開発に利用できる。
言語の特徴
- TypeScriptはJavaScript (ECMAScript 5) に次のような言語機能の拡張を加えたものである。
ECMAScript 6由来
- クラス
- アロー関数式(ラムダ式)
- オプション引数、デフォルト引数
- let, const
- テンプレート文字列 : 文字列内への変数埋め込み
- モジュール
- for/of
- 分割代入
- Symbol
ECMAScript 7由来
- デコレーター
- Async/Await
独自
- 型注釈(変数、引数、戻り値などの型宣言)とコンパイル時の型チェック
- 型推論、型ガード - if文の instanceof などを利用した型推論
- インタフェース
- 列挙型
- Mixin
- ジェネリック
- 名前空間
- タプル型
- 和型(英語版), 交差型(英語版)
- 型エイリアス
構文的には、静的型付けやクラス、継承、インタフェースのようなオブジェクト指向、名前空間などの機能を追加する、ECMA-262 言語標準のマイクロソフトによる実装である JScript.NET と TypeScript はよく似ている。
TypeScriptを導入する前に『覚悟』したほうが良いこと 4項目
- 楽 ≒ 簡単
- TypeScriptは現状「別に使う必要はない」ツール
- いきなり高めの型リテラシーを求められる
- 初速が出ない
- 採用が難しい
- 使いこなせなければ存在自体が負債になりかねない
TypeScriptを導入する前に『覚悟』したほうが良いこと 4項目 - タオルケット体操
より
書籍
- これらを踏まえた上で、本屋でチラ見した時にテスト駆動開発の章もあった下記の本を読み進めたいと思う
TypeScript実践プログラミング (Programmer's SELECTION)
- 作者: スティーブ・フェントン,鈴木幸敏,株式会社クイープ
- 出版社/メーカー: 翔泳社
- 発売日: 2015/01/23
- メディア: 大型本
- この商品を含むブログ (1件) を見る