ウェブサイト検索

angularjs - TypeScriptを使うべきですか?それともES6だけで大丈夫ですか?


私の日々の仕事は、AngularJSを使ったクライアント開発です。私たちはTypeScriptを使うかどうかを評価しています。TypeScriptについて少し調べたのですが、必要なほとんどのJavaScriptパッケージには定義型ファイルが必要です。それはあまり便利ではないと感じました。特に新しいものを試したい場合、その定義がないと本当に困ります。とてもフラストレーションが溜まります。(現在のjQueryの定義ですら、TypeScript 1.5ベータを使おうとすると問題が出ます)ES6を見始めたところで、TypeScriptに似ているように見えます。ES6を使ったほうがいいのでしょうか?また、Angular 2はTypeScriptを完全にサポートするという話を聞きました。それはTypeScriptを使い続ける理由の一つになるでしょうか?

回答 #1

ES5、ES6、TypeScriptの間の意思決定ツリー

ビルドステップを設けることに問題はありますか?

  • はい - ES5 を使用
  • いいえ、続けてください

型を使いたいですか?

  • はい - TypeScript を使用する
  • いいえ - ES6を使用してください

詳細

ES5 は、今日ブラウザで使用している JavaScript であり、そのままの形で動作し、今日のブラウザで実行するために変換するビルドステップは必要ありません

ES6(ES2015とも呼ばれる)は、JavaScriptの次のバージョンですが、今日のブラウザでは動作しません。ブラウザで実行するためにES5を出力するトランスパイラがかなりあります。それでも、動的(すなわち型指定されていない)言語です。

TypeScriptは、将来のJavaScriptのバージョン(ES6およびES7)の機能を取り入れながら、オプションの型付けシステムを提供します。

注意: 多くのトランスパイラー(例えば、Babel、TypeScript)は、将来のバージョンのJavaScriptの機能を今日使えるようにし、今日のブラウザでも動作するコードをエクスポートできるようにします。

回答 #2

私は現在のAngularプロジェクトで約1年半TypeScriptを使用しており、時々定義にいくつか問題はありますが、DefinitelyTypedプロジェクトはほとんどの人気ライブラリの最新バージョンに追いつくために素晴らしい仕事をしています。

とはいえ、バニラのJavaScriptからTypeScriptに移行する際には明確な学習曲線があり、あなたとチームがその移行を行う能力を考慮する必要があります。また、Angular 1.xを使用する場合、オンラインで見つかるほとんどの例はJSからTSに変換する必要があり、現時点ではTSとAngular 1.xを一緒に使用するためのリソースはあまり多くありません。

もしあなたがAngular 2を使用する予定なら、TypeScriptを使った多くの例がありますし、チームはおそらくほとんどのドキュメントをTypeScriptで提供し続けると思いますが、Angular 2を使用するために必ずしもTypeScriptを使う必要はありません。

ES6にはいくつか素晴らしい機能がありますし、個人的にはもっと馴染むつもりですが、現時点では生産準備が整った言語とは考えていません。主に、現在のブラウザでのサポートが不足しているためです。もちろん、ES6でコードを書いて、トランスパイラを使ってES5に変換することもできます。これが現在人気のある方法のようです。

全体的に見て、答えはあなたとあなたのチームが学ぶことにどれだけ快適かにかかっていると思います。個人的には、TSもES6も良いサポートがあり、将来性も長いと思いますが、私はTSの方が好きです。なぜなら、言語機能をより早く手に入れやすく、現時点ではツールのサポート(私の意見では)が少し良いからです。

関連記事