JavaScript・jQuery去年から絶対TypeScript勉強するぞと思っていたのですが、全然触れずにいました。最近はAngularやES6の記述を覚えることができて、ようやくTypeScriptを覚える余裕ができてきました。実際に学び・使ってみた感触を本記事でご紹介します。最後にTypeScriptをなぜ学ぼうと思ったか私がフロントエンド中心で今後スキルを伸ばしたいと思っているのが前提なのですが、様々な開発現場でTypeScriptが導入されているのを目の当たりしてきたのしているので「覚えないと開発にすら参加させてもらえない」「足を引っ張る」といった焦りから覚えました。これは「ES6」や「Angular,Vue,React」といったJSフレームワークを学ぶきっかけも同様でした。ほかにも知人からはTypeScriptを扱うとエディターで型や引数名が同期されるので初心者こそ覚えたほうがコードを書きやすくなると進められたのもあります。TypeScriptの恩恵とメリットTypeScriptは型を決めれるとだけ聞いてたのですが、それがどういうメリットなのかは使って見るまでわかりませんでした。TypeScriptを使いだして気がついたメリットは以下になります。型を指定することでコードが読みやすくなる2週間前に自分が書いたコードなんて私は覚えてないので信用できないです。引数や関数に型を定義しておけば何が返ってくるのか、何が入るのかが予測でき当初想定していなかった使い方をすることができなくなり、気が付かないバグの発生を未然に防ぐことができます。エディターの入力補完が強いAPIを使うときなど、メソッド名を忘れることもありますが、エディターがそのあたりを補完してくれるのでスペルミスなどで時間を浪費することがなくなります。引数名とその型も取ってきてくれるので予想がしやすいです。リファクタリングしやすい型定義がしっかりされていると似たような関数をまとめるときにめちゃくちゃやりやすかったです。仮にリファクタリングに失敗してもエラーを出してくれるので、目視で調査するよりは品質を担保できます。簡易のドキュメントとして扱える大人数での開発のときに特に役立つのが、型定義です。これを行っておくと他の人が作った関数の使い方も予想がしやすく、再利用がしやすくなります。anyのように何でも入る型で書いてあればそういう受け入れで書かれた関数と受け取れるので、コメントアウトでは確認しにくい情報も明示的にとれます。TypeScriptで書く以上型の書き方は決まっているので、みんな同じ書き方で品質の担保もしやすいです。そもそも型を書かないとエラーが出るので強制的にコードの品質を上げることができます。情報をキャッチアップしてる人と開発できるTypeScriptは規格としては新しいですが、それなりに年月も経っており多くのエンジニアが利用しています。昔覚えた技術ばかりで書く人やコピペでしか書けないエンジニアなど開発スキルで人を間引くことができます。言い方は悪いですが、必要な情報をキャッチアップしてスキルに落とし込んでる人はそれなりに信用できるので、開発もしやすくなります。TypeScriptは必須なのかTypeScriptは必須で使わないといけないものではないと思っています。理由としては、型を定義するなど考えることが増えるので、単純に動くものを作るだけならコストが高いとも言えます。運用や更新を少しでも考えられている場合はTypeScriptで書いた方がその恩恵を得やすくなります。TypeScriptを全く知らないチームにいきなり使えと強制してもパフォーマンスが下がるだけなので得策ではないでしょう。同様に古い環境にいきなりTypeScriptを導入してもエラーの連続になるのでリファクタリングだけで多大な工数をとるのでこれもオススメしないです。私としては、TypeScriptは個人・またはチームで新規運用開発する場合は導入するメリットのほうが大きいと思っているので、必須の気持ちが強いです。最近はJavaScriptフレームワークでTypeScriptを使ってるので半強制的に求められるようにも見えますが。TypeScriptに期待していることTypeScriptの型定義はフロントエンドに限りません。Node.jsのようなバックエンド環境でも扱えます。これまでのように、php,Rubyでも型をチェックしてフロントでも同じことを別言語で行うような世界をなくすことができます。それが可能なのはNest.jsのようなライブラリですね。私はまだ、バックエンド方面に手を出していないのですが、いずれは覚えるつもりでそのときにTypeScriptの恩恵を得れると思うとワクワクします。最後にこれからもTypeScriptの需要は伸び続けるので覚える事は疑う余地がありません。使わない選択肢は合っても覚えない選択肢は、自分が活躍できる場を狭めるだけと予想しています。私も覚えて日が浅いので偉そうな事は言えないのですが、新しいことを覚えるのではなく、必要なことを覚えるスタンスを大事にして成長していきたいと思います(ゝω・)ツイートこの記事を書いた人conti大阪で東京の事業会社でフルリモートワークで働いているWebデザイナーです。副業とか好きで週末フリーランスしてます。コードを書くのが得意なのでプログラマーに愛されるデザイナーってよく言われます。個人開発で家事・育児で悩む人向けのWebサービスパパダッシュ...関連記事JavaScript・jQuery【JavaScript】PCサイトかスマートフォンサイトを選択させるスクリプトPC向けサイトにアクセスした際にスマートフォン向けサイトを表示するか選択してもらうスクリプトを書きました。今回はJavaScriptで作っています。in-view.jsページスクロールをして、特定の要素がウインドウ内で表示されたタイミングを検知してアニメーションをさせたり、classをつけるといった要望はよくありますね。この書き方だと何も聞かれずにいい感じのpackage.jsonが作られる。[...]conti2019年1月20日JavaScript・jQuery初めてjQueryプラグインを作ってみた(RSS取得)最近社内でJSを書く機会が増えてきたので、他の人にも扱いやすいようにと思ってjQueryプラグインにする事を思いつきました。作ったプラグインの内容はRSSを取得・表示させるためのjqueryプラグインです。運用ノウハウ開発cntlog。