0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

JavaScript と TypeScript の違いを徹底解説【面接でもよく聞かれるポイント】

Last updated at Posted at 2025-09-30

はじめに

Web開発の現場で必ずといっていいほど登場する JavaScript (JS) と TypeScript (TS)。
最近では、エンジニア面接で「JSとTSの違いを説明してください」と聞かれることも増えてきました。

本記事では、技術的な観点から両者の違いを整理し、面接でも実務でも役立つ知識としてまとめます。

JavaScript とは?

JavaScript は 1995 年に登場したスクリプト言語で、現在は ECMAScript という国際標準に基づいています。

  • 動的型付け言語
    → 変数に型を指定せず、実行時に型が決まる。

  • ブラウザや Node.js で直接実行可能

  • 柔軟性が高い反面、実行時まで型エラーに気づきにくい。

例:

let value = "123";
value = 123; // 実行可能だが、意図しない動作の原因に

TypeScript とは?

TypeScript は 2012 年に Microsoft が開発した JavaScript のスーパーセットです。
JavaScript に 静的型付けやクラスベースの構文を追加し、より堅牢な開発を可能にします。

  • 静的型付け
    → 実行前に型エラーを検出できる。

  • 最終的には JavaScript にトランスパイルして実行

  • 大規模開発や長期運用に強い

例:

let value: string = "123";
value = 123; // コンパイルエラー

両者のコード比較

同じ関数を JS と TS で比較すると違いが分かりやすいです。

//JavaScript
function add(a, b) {
  return a + b;
}

console.log(add(10, 20)); // 30
console.log(add("10", 20)); // "1020"(文字列連結になる)
//TypeScript
function add(a: number, b: number): number {
  return a + b;
}

console.log(add(10, 20));  // 30
console.log(add("10", 20)); // コンパイルエラー

→ TypeScript は 意図しない挙動を事前に防げるのが大きな利点です。

JavaScript と TypeScript の関係性

  • スーパーセット関係
    JavaScript ⊆ TypeScript
    → JS のコードはすべて TS として有効。

  • 実行環境
    TS はそのまま実行できず、必ず JS に変換して動く。
    従来は TypeScript を必ず JavaScript にトランスパイルしてから実行する必要がありましたが、最近では Node.js v22.18.0 以降や新しいランタイム環境で、TypeScriptをそのまま実行できるようになっています。

  • 標準仕様の違い
    JS = 国際標準(ECMAScript)
    TS = Microsoft 独自拡張

→ 理論的には TS は JS に従属しますが、実務では同格の選択肢として扱われています。

メリットとデメリット

言語 メリット デメリット
JS 柔軟で学習コストが低い
直接実行可能
型がなく、実行時エラーが多い
大規模に不向き
TS 型安全でバグを事前防止
補完・リファクタリングが強力
大規模開発向き
学習コストが高い

実務での使い分け

小規模・検証・スピード重視 → JavaScript

大規模・長期運用・チーム開発 → TypeScript

特に近年の現場では「新規開発は TS で進める」が一般的になっています。

面接での答え方のヒント

単に「型がある/ない」だけでなく、次のように実務的な視点を加えると説得力が増します。

「JavaScriptは動的型付けで柔軟に書けますが、実行時にしかエラーに気づけません。一方、TypeScriptは静的型付けによりコンパイル時にエラーを検出でき、リファクタリングもしやすいため大規模開発に向いています。TypeScriptはJavaScriptにコンパイルされて実行されるため、実行環境としてはJavaScriptに依存しています」

まとめ

JavaScript: 柔軟で手軽に書ける標準言語
TypeScript: 型安全性と保守性を高めたスーパーセット

関係性: TS は JS の上位互換。実行は JS に依存する。
実務では: 小規模なら JS、大規模なら TS が一般的

面接で問われるのは単なる違いの暗記ではなく、「なぜその違いが実務で重要なのか」 を語れるかどうか。そこまで答えられれば評価されやすいです。

更新履歴

  • 2025/09/30 コメントにてご指摘いただき、Node.js v22.18.0 以降や新しいランタイムでTypeScriptをそのまま実行できる件について追記しました
0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?