訳者まえがき
MicrosoftがTypeScriptを2012年に公開したとき、多くの人にとってそれは、すでにいくつか存在していたAltJS(JavaScriptに変換して実行される、JavaScriptの代替言語)に新たな1つが追加されたくらいのものでしかありませんでした。しかし、時間の経過とともにその静的型システムが大規模開発においてきわめて有用であることが示されるにつれ、TypeScriptの人気はどんどん高まっていきました。今やTypeScriptは単なるAltJSの1つなどではなく、JavaScriptエコシステムにおいて別格の地位を得ています。DenoやBunなどの新しいサーバーランタイムは当初から直接TypeScriptを実行することをサポートし、Node.jsでも2024年にTypeScriptのサポートが追加されました。npmの各パッケージのページでは、トップにパッケージ名と並んで、そのパッケージがTypeScriptの型宣言を含むか、あるいは対応する@typesパッケージが存在するかが明記されています。State of JavaScriptというJavaScript開発者を対象とした世論調査の2024年版(https://2024.stateofjs.com/)では、34%の開発者が常にTypeScriptでコードを書く一方、常にJavaScriptでコードを書く開発者は8%しかおらず、両方を書く残りの約6割の中でも過半はTypeScriptをより多く書いていることが明らかになっています。
TypeScriptがこれほど広く普及した一方で、その型システムを正しく理解して使いこなし、効果的(effective)なコードを書くことは簡単ではありません。本書で何度も言及されるとおり、TypeScriptの型システムは、JavaScriptの実行時の動作をモデリングします。動的な言語であるJavaScriptに静的型を付けることは大きなチャレンジであり、これを実現した結果TypeScriptの型システムは驚異的な柔軟性と豊かな表現力を獲得しました。これらは言語にとって有用な性質である一方、型システムのすべての機能を使いこなせるようになるための難易度を上げました。型システムに対するごく単純な理解しかなくてもコードを書けてしまうのもTypeScriptの強みの1つではありますが、プロの開発者ならeffectiveなコードを書きたいでしょう。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access