TypeScriptはJavaScriptのスーパーセット(上位互換)にあたる静的型付けのクラスベースオブジェクト指向言語です。2012年の誕生以降、大規模なアプリケーション開発にも向いていることから注目を集め続けております。その活躍は世界的大企業Google社にも社内開発における標準言語の一つとして採用されるほどです。この記事ではTypeScriptを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。
TypeScriptとはマイクロソフト社がJavaScriptを拡張して設計し開発をしたプログラミング言語です。静的型付けのクラスベースオブジェクト指向言語であり、型定義出来る部分がJavaScriptとの大きな違いとなっております。
JavaScriptのスーパーセット(上位互換)であることから基本的に同じ構文を採用しているため、JavaScript経験者であれば学習コスト低く使用することができます。TypeScriptの特徴は『静的型付け』『JavaScriptのスーパーセット(上位互換)』『大規模な開発にも向いている』などが挙げられます。2017年にはGoogleの社内開発における標準言語の一つとして採用されるなど世界的な注目度も上がり続けております。
JavaScdriptとはネットスケープコミュニケーションズ社によって1995年に誕生したプログラミング言語の一種でその中でもオブジェクト指向スクリプト言語に区分されます。主な目的として動的な機能をWebページに生成するためのプログラミング言語として開発されました。Webサイト、Webアプリ、ゲームなど様々な用途に活用できるため注目を集めております。名称にJavaが含まれるためJavaの仲間と誤解を生むこともありますがJavaScripitは全く異なるプログラム言語です。
開発当時サン・マイクロシステムズ社が開発したプログラミング言語『Java』が大きな注目を集めていたことや同社との業務提携を行った背景もありJavaにちなんだ名称が付けられました。JavaScdriptフレームワークの代表的な種類としてjQuery、AngularJS、Vue.jsなどが挙げられます。
JavaScriptのメリット・デメリットなどを解説している記事はこちら>>
TypeScriptの読み方は『タイプスクリプト』です。名前の由来は見つかりませんでしたが、
JavaScriptとの大きな違いである型定義出来る部分を「Type」と表し、Script言語と組み合わせて『TypeScript』と命名されたのではないかと推測されます。
TypeScriptは2012年10月にマイクロソフト社の開発によって誕生しました。誕生の経緯はJavaScriptでも大規模なアプリケーション開発をしやすくするという目的から始りました。これを実現するためTypeScriptはJavaScriptのスーパーセット(上位互換)として型定義出来る部分も兼ね備えて誕生したのです。マイクロソフト社はこの開発に2年の期間を要したと言われております。初めて世に広められたバージョンは『TypeScript 0.8』でした。
翌年2013年になると『TypeScript 0.9』がリリースされ総称型のサポートがなされました2017年にはGoogleの社内開発における標準言語の一つとして採用されるなど世界的な注目度も上がり続けております。TypeScript は登場以来度重なるアップデートを繰り返し2021年1月現在の最新バージョンは4.2.3となっております。簡単に以下の年表にまとめておりますのでご覧ください。
歴史 | 出来事 |
2012年 | 『TypeScript 0.8』リリース TypeScript初版 |
2013年 | 『TypeScript 0.9』リリース 総称型のサポート |
2014年 | 『TypeScript 1.0』リリース |
2016年 | 『TypeScript 2.0』リリース |
2017年 | 『TypeScript 2.2』リリース Googleの標準言語の一つに |
2018年 | 『TypeScript 3.0』リリース |
2020年 | 『TypeScript 4.0』リリース |
TypeScriptの特徴を見ていきましょう。
TypeScriptは静的型付け言語という特徴があります。JavaScriptが動的型付け言語であるのに対して、TypeScriptは静的型付け言語です。この静的型付け言語とは変数・メソッド等の戻り値へ「型」を指定する言語です。他の代表的な静的型付け言語としてJava、C言語、COBOLなどが挙げられます。
TypeScriptはJavaScriptのスーパーセット(上位互換)という特徴があります。JavaScriptでの開発における生産性を向上させるために必要不可欠な機能である『型チェック』『静的型付け』『分かりやすいインターフェイス』などを実現させ、JavaScriptの上位互換として誕生しました。
TypeScriptは大規模な開発にも向いているという特徴があります。JavaScriptでも大規模なアプリケーション開発をしやすくするという目的から誕生したという経緯もあります。大規模な開発にも向いている理由として『静的型付け言語』『外部に型定義ファイルを持てる』などが挙げられます。またエラーを防ぎやすいように設計されている点もその理由の一つです。
TypeScriptの基本的な文法を見ていきましょう。
変数では一般的に宣言、代入、参照を覚えておく必要があります。
TypeScriptの基本的なデータ型は以下の通りです。
データ型 | 概要 |
String | 文字列型(テキストデータを参照するため) |
Number | 数値型(浮動小数点数の値) |
Boolean | 真偽値を扱う型 |
Array | 配列を扱う型 |
Tuple | 素の個数・型が決められた配列を表現する |
Enum | 列挙型(enumurateの略 |
Void | 値がないことを意味する型 |
Any | どんな型でも利用することができる型 |
Never | 決して発生することのない値の型を表す |
TypeScriptの基本的な演算子は以下の通りです。
(TypeScriptで扱える演算子は基本的にJavaScriptと同じです)
演算子の種類 | 概要 |
算術演算子 | 正数、負数、加算、減算、乗算、除算が定義されている |
比較演算子 | 大小や等しいかなどの比較を実行する |
代入演算子 | 「=」のことで左辺を右辺に代入を実行する |
文字列連結演算子 | 文字列の結合を実行する |
メンバ演算子 | オブジェクトのプロパティまたはメソッドにアクセスするための演算子 |
論理演算子 | 論理演算を行う演算子のこと true、falseで定義されている |
ビット演算子 | ビット積、ビット和、排他的論理和などが定義されている |
制御文ではwhile文、for文、if文、break文を覚えておく必要があります。
(TypeScriptで扱える制御分は基本的にJavaScriptと同じです)
TypeScriptの代表的なフレームワークを見ていきましょう。
AngularとはJavaScriptに活用されるGoogle社によって開発されたオープンソースWebアプリケーションフレームワークです。2009年に誕生し、ミシュコ・へブリー(
Mishko Hebley)氏とアダム・アブロンズ(Adam Ablons)氏が主軸となって開発がなされました。特徴としてフルスタックなフレームワークと呼び声が高く、Angularが用意する機能を全て使いこなすことができればその他の技術は不要と言えるほど多機能で充実しております。AngularJSとAngularJS2が存在し、AngularJS2についてはGoogle社とマイクロソフト社の協力の下で作成されました。
Angularの歴史・特徴などを解説している記事はこちら>>
ReactとはJavaScriptに活用されるジョーダン・ウォーク(Jordan Walk)氏によって開発されたオープンソースWebアプリケーションフレームワークです。2011年にFacebook社のプログラマンーであるジョーダン・ウォーク氏が同社のサービスであるFacebookにて使用し、2013年にオープンソース化されました。特徴としてUI/UXを意識した開発に向いていることやAndroidとiOSの両プラットフォームに対応していることなどが挙げられます。またReact.jsは数々の有名なサービスにて採用されております。代表的なものとしてFacebook、Instagram、Yahooなどが挙げられます。
Reactの歴史・特徴などを解説している記事はこちら>>
Vue.jsとはJavaScriptに活用されるエヴァン・ユー(Evan You)氏によって開発されたオープンソースのオブジェクト指向Webアプリケーションフレームワークです。2014年2月に誕生し、GoogleにてAngularJSを使用した開発に携わっていたエヴァン・ユー氏がAngularJSをモデルに本当に好きな部分だけを抽出してVue.jsの作成を行ったという経緯があります。特徴として、スクリプトタグを一行書くのみで使い始めることが出来る手軽さやAngularJSと比較して規模が小さい分学習コストが低いなどが挙げられます。
Vue.jsの歴史・特徴などを解説している記事はこちら>>
TypeScriptで利用出来るライブラリを見ていきましょう。
jQueryとはJavaScripitaに活用されるジョン・レシグ(John Resig)氏によって開発されたオープンソースWebアプリケーションフレームワークです。2006年8月に誕生し、基本理念を『write less, do more(少ない記述で、もっと多くのことをする)』を掲げております。特徴として非常に簡単でかつ少ない記述でHTMLとCSSを操作することができます。またjQueryを利用する世界中の方々が様々なプラグインの作成を行っていることから拡張性が高いことも特徴として挙げられます。
jQueryの歴史・特徴などを解説している記事はこちら>>
Node.jsとは2009年にライアン・ダール氏によって作成されたJavaScript向けのサーバサイド開発用の実行環境です。JavaScriptを用いてサーバサイド開発を行う際の代表的な開発用実行環境として人気を集めております。JavaScriptは元々フロントエンドの開発に用いられるために誕生しました。それがNode.jsの登場によってPHPやRubyのようにJavaScriptをサーバーサイドの開発に用いれるようになりました。Node.jsを活用することによって他のサーバーサイド言語では実現できなかったアクセスされたURLを識別し、URLごとにユニークな要素を表示させるなど、データベースで行う作業も合わせて実装出来るようになりました。他にもNode.jsは特徴として『リアルタイム通信』『シングルスレッド』『ノンブロッキングI/O方式』などが挙げられます。Node.jsはRubyの『Event Machine』や Pythonの『Twisted』のシステムに影響を受けて、同様の設計で開発されました。
Node.jsの歴史・特徴などを解説している記事はこちら>>
TypeScriptを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。TypeScriptを一言で表すと『JavaScriptのスーパーセット(上位互換)にあたる静的型付けのクラスベースオブジェクト指向言語』です。特徴として『静的型付け』『JavaScriptのスーパーセット(上位互換)』『大規模な開発にも向いている』などが挙げられます。TypeScriptについてこの記事に記載されている内容は最低限理解をしておくようにしましょう。