14章構文の拡張
“TypeScript does not add
to the JavaScript runtime.”
...was that all a lie?!
「TypeScriptはJavaScriptランタイムに
何も追加しない」
...というのはすべて嘘だったのか⁈
……………………………………………………
TypeScriptが2012年に初めてリリースされたとき、Webアプリケーションは急速に複雑さを増してきており、そのペースは、プレーンなJavaScriptがその複雑さをサポートする機能を追加するペースを凌駕していました。当時、最も人気のあったJavaScript言語のフレーバーであるCoffeeScriptは、JavaScriptから分岐してワクワクするような新しい構文構成体を導入し、成功を収めていました。
今日では、TypeScriptなどのスーパーセット言語固有の新しいランタイム機能によってJavaScriptの構文を拡張することは、次のような理由により、よくないことと考えられています。
- 最も重要なのは、ランタイム構文の拡張は、JavaScriptの新しいバージョンの新しい構文と競合する可能性があることです。
- 構文の拡張により、JavaScriptに不慣れなプログラマーにとって、どこまでがJavaScriptで、どこからが別の言語かを理解するのが困難になります。
- 構文の拡張により、スーパーセット言語のコードを受け取り、JavaScriptを出力するトランスパイラーの複雑さが増加します。
したがって、初期のTypeScript設計者が、JavaScriptに対する次の3つの構文拡張をTypeScript言語に導入したことは、きわめて残念であり、そのことを読者にお伝えしなければならないのはとても憂鬱です。 ...
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.