まえがき
TypeScriptへの筆者の旅は、まっすぐな旅でも迅速な旅でもありませんでした。学校では主にJavaを書くことから始め、次にC++へと進み、静的型付き言語で育った他の多くの新人開発者と同様に、JavaScriptのことを、人々がWebサイトに投げ入れる程度の粗雑で小さなスクリプト言語と軽蔑していました。
JavaScriptにおける筆者の実質的な最初のプロジェクトは、テレビゲームの『Super Mario Bros.』(スーパーマリオブラザーズ)をHTML5/CSS/JavaScriptでリメイクするという馬鹿げたものであり、多くの最初のプロジェクトにありがちな、めちゃくちゃなものでした。プロジェクトを始めた当初は、JavaScriptの奇妙な柔軟性や「ガードレール」の欠如が本能的に嫌いでした。JavaScriptの機能や個性——言語として柔軟性に富んでいること、小さな機能をうまく組み合わせられること、ユーザーのブラウザーにページが読み込まれたらそれだけですぐに動作すること——に本当に敬意を抱き始めたのは、プロジェクトの終わりごろになってからでした。
最初のプロジェクトが終わるころには、JavaScriptと恋に落ちていました。
また、TypeScriptなどの静的解析(コードを実行せずに解析するツール)も、最初は胃がムカムカする感じでした。「JavaScriptはとてもすがすがしくて柔軟なのに、どうして融通の利かない構造と型で身動きを取れなくしてしまうのか?」と思いました。「置いてきたはずのJavaとC++の世界に戻ろうとしているのか?」と。
古いプロジェクトに戻ったときに、入り組んだ古いJavaScriptコードを一読するのに10分も奮闘することになり、静的解析がないとどれほど厄介なことになるのかを痛感しました。そのコードをきちんと整理した結果、何らかの構造があればもっとよく書けていたはずの箇所がたくさんあることに気づきました。それからというもの、自身のプロジェクトにできるかぎり静的解析を加えることに夢中になりました。 ...
Get 初めてのTypeScript ―型安全なJavaScriptでWeb開発を加速する now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.