TypeScriptとC#の違い

広告

C#を学んだ人が見るとわかりやすい比較

今回は、C#を学んでいる人向けに、TypeScriptとC#は何が似ていて、何が違うのかをやさしく整理します。

「別の言語」と聞くと難しそうに感じますが、C#を学んでいる人なら、すでに共通する考え方をたくさん知っています。


■ まず結論

TypeScriptとC#は、書き方がかなり似ています。

でも、使う場所が違います。


■ 何に使う言語なのか

言語主に使う場所
C#Windowsアプリ、Unity、業務システムなど
TypeScriptWebアプリ、ブラウザで動く画面など

C#は、アプリやゲーム開発でよく使われます。

TypeScriptは、Webの画面側の開発でよく使われます。

つまり、

  • C# → アプリやゲームで使うことが多い
  • TypeScript → Webで使うことが多い

という違いがあります。


■ 変数はかなり似ている

まずは一番わかりやすいところです。

C#

int age = 20;
string name = "Taro";

TypeScript

let age: number = 20;
let name: string = "Taro";

見比べると、かなり似ています。

違いは主にここです。

  • C#は、型を前に書く
  • TypeScriptは、型を後ろに書く

■ if文も似ている

条件によって処理を変える書き方もよく似ています。

C#

int age = 20;

if (age >= 18)
{
    Console.WriteLine("成人です");
}
else
{
    Console.WriteLine("未成年です");
}

TypeScript

let age: number = 20;

if (age >= 18) {
    console.log("成人です");
} else {
    console.log("未成年です");
}

ここで注目したいのは、if の考え方そのものは同じということです。

  • 条件を書く
  • 条件が正しければ上
  • そうでなければ下

この流れはC#でもTypeScriptでも同じです。

違いは主に出力方法です。

  • C# → Console.WriteLine
  • TypeScript → console.log

■ for文もかなり似ている

繰り返し処理も同じように書けます。

C#

for (int i = 0; i < 5; i++)
{
    Console.WriteLine(i);
}

TypeScript

for (let i: number = 0; i < 5; i++) {
    console.log(i);
}

これを見ると、for文の構造はほとんど同じです。

  • 最初の値を決める
  • 条件を書く
  • 1回ごとに増やす

この考え方はそのまま使えます。


■ 配列も似ている

C#

string[] fruits = { "りんご", "みかん", "ぶどう" };

for (int i = 0; i < fruits.Length; i++)
{
    Console.WriteLine(fruits[i]);
}

TypeScript

let fruits: string[] = ["りんご", "みかん", "ぶどう"];

for (let i: number = 0; i < fruits.length; i++) {
    console.log(fruits[i]);
}

ここもかなり似ています。

ただし、1つ注意点があります。

  • C# → Length
  • TypeScript → length

つまり、大文字小文字が違うので注意が必要です。


■ クラスも似ている

オブジェクト指向の学習をしている人にとっては、ここも安心できるポイントです。

C#

class Player
{
    public int hp = 100;

    public void Attack()
    {
        Console.WriteLine("攻撃した");
    }
}

TypeScript

class Player {
    hp: number = 100;

    attack(): void {
        console.log("攻撃した");
    }
}

ここでも、

  • データを持つ
  • メソッドを持つ
  • クラスから使う

という考え方は共通しています。


■ 一番大きな違いは「動く場所」

ここがいちばん大切です。

C#

C#は、コンパイルして実行します。

アプリやUnityの中で動きます。

TypeScript

TypeScriptは、そのままでは動きません。

JavaScriptに変換されてから動きます。

そして主にブラウザで使われます。

つまり、

TypeScriptは「Webで使うための、型付きJavaScript」

と考えるとわかりやすいです。


■ もう1つの違い:型のゆるさ

C#は型がかなりしっかりしています。

C#

int x = 10;
// x = "hello";  // エラー

TypeScriptも型がありますが、C#より少し柔軟です。

TypeScript

let x: number = 10;
// x = "hello";  // エラー

ここまでは同じですが、TypeScriptにはJavaScript由来の柔らかさもあります。

そのため、

C#のほうが「型が厳格」

TypeScriptのほうが「少し柔軟」

という違いがあります。


■ C#を学んだ人が有利な理由

ここは大事です。

C#を学んだ人は、すでに次の考え方を知っています。

  • 変数
  • if文
  • for文
  • 配列
  • クラス
  • メソッド

つまり、TypeScriptを見たときに

まったくゼロから始まるわけではないのです。

これは大きな強みです。


■ 生徒のみなさんに伝えたいこと

TypeScriptを見ると、最初は

  • 書き方が少し違う
  • 見慣れない記号がある
  • なんとなく別物に見える

と感じるかもしれません。

でも本当に大事なのは、記号ではなく考え方です。

たとえば、

  • 条件で分ける → if
  • 繰り返す → for
  • 複数のデータを持つ → 配列
  • まとまりとして扱う → クラス

こうした考え方は、言語が変わっても活きます。


■ まとめ

TypeScriptとC#を比べると、次のように言えます。

  • 変数の考え方は似ている
  • if文やfor文もかなり似ている
  • 配列やクラスの考え方も共通している
  • ただし、使う場所が違う
  • C#はアプリやUnityで使われやすい
  • TypeScriptはWebで使われやすい

つまり、

書き方は似ているが、活躍する場所が違う

ということです。


■ 最後に

今C#を学んでいる人は、

「C#しかできない」のではありません。

実は、

他の言語を理解するための土台を作っている

とも言えます。

今やっている if文、for文、配列、クラスの学習は、

別の言語に進んだときにも、ちゃんと役に立ちます。

焦らず、まずは

  • C#で考え方を身につける
  • 似ている部分を見つける
  • 違う部分は少しずつ覚える

この流れで十分です。

訪問数 15 回, 今日の訪問数 15回

広告

C#

Posted by hidepon