TypeScriptとJavaScriptの文法の違い

TypeScriptとJavaScriptは共に人気のあるプログラミング言語であり、JavaScriptのスーパーセットとして機能するTypeScriptは、型付けなどの機能を提供しています。以下は、両者の文法の主な違いについての概要です。

1. 型付け

JavaScript

JavaScriptは動的型付け言語であり、変数の型が実行時に決まります。

let variable = 10;
console.log(variable); // 結果: 10
variable = "Hello";
console.log(variable); // 結果: Hello

TypeScript

TypeScriptは静的型付け言語であり、変数の型が宣言時に決まります。

let variable: number = 10;
console.log(variable); // 結果: 10
variable = "Hello"; // エラー: 型 'string' の値を型 'number' に割り当てることはできません

2. インターフェースと型エイリアス

JavaScript

JavaScriptにはインターフェースや型エイリアスがありません。

TypeScript

TypeScriptでは、以下のようにインターフェースや型エイリアスを使用できます。

interface Person {
  name: string;
  age: number;
}

type Point = {
  x: number;
  y: number;
};

3. 列挙型

JavaScript

JavaScriptには列挙型がありません。

TypeScript

TypeScriptでは、列挙型(Enum)を使用して定数の集合を表現できます。

enum Color {
  Red,
  Green,
  Blue,
}
let myColor: Color = Color.Red;

4. モジュール

JavaScript

JavaScriptでは、ES6からモジュールがサポートされていますが、CommonJSやAMDなどのモジュールシステムも使われています。

TypeScript

TypeScriptもES6モジュールをサポートし、型情報を含んだモジュールが記述できます。

// モジュールのエクスポート
export const myFunction = () => {
  // 関数の本体
};

// モジュールのインポート
import { myFunction } from "./myModule";

5. ヌル安全性

JavaScript

JavaScriptでは、変数がnullまたはundefinedになる可能性があります。

TypeScript

TypeScriptでは、明示的にnullやundefinedを許容するかどうかを指定できます。

let value: string | null = "Hello";
value = null; // OK
value = undefined; // エラー: 'undefined' に型 'string | null' を割り当てることはできません

まとめ

TypeScriptとJavaScriptは共に柔軟で強力な言語ですが、TypeScriptは型付けやモジュールのサポートなどで開発者に追加のツールや安全性を提供します。プロジェクトの要件に応じて適切な言語を選択することが重要です。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です