🍊

【React.js/Next.js】TypeScript OR JavaScriptの選定基準

2022/12/03に公開

背景

先日、40人体制の Next.js を用いたフロントアプリ制作にて、TypeScript OR JavaScript の技術選定を行ったため、その際に考えたことをまとめました。

僕の選定基準

結論としては、基本的に TypeScript 選択がよいと考えています。

TypeScriptは静的型付け言語です。
その特性として、コーディング時点でエディタのエラー検知機能により、エラーに気づける幅が広がります。そのため、TypeScriptほぼ一択なのかと考えます。(動作中に初めてエラーに気づくのは辛いです。。)

※特に、React.js/Next.js はコンポーネント指向であるため、型定義を明確に行わないと、コンポーネント間での不整合に気づかないケースが高いと考えられる。

ただし、下記両方の条件を満たす場合は、JavaScript 選択もアリかなとは思っています。

  1. 小規模開発であり、レビュアーの目が行き渡る
  2. 開発メンバが学習するコストを割きたくない

TypeScript と JavaScript の簡単比較

TypeScript JavaScript
メリット 型定義とインターフェース定義ができる 動的型付け言語のため、型をあまり意識せずとも開発できるため、学習コストが低い
デメリット 型を意識する必要があるため、学習コストや実装コストが高い 型の不整合でエラーが発生しやすい

余談

短期的に見たら TypeScript は学習コストも実装コストも高いかもしれませんが、エラー対応などの時間を含めて長期的に見てみると、結局、TypeScript の方がコスパがよいのでは?と考えております。

最後までお読みいただきありがとうございました。

Discussion