link facebook2 twitter youtube

【Unity】C#がJavascriptより使われる理由

なぜUnityユーザーの80%がC#を使っているのか

それぞれの特徴は以下です。

C#

  • 小規模から大規模の開発向き
  • ゲームアプリ業界だと大半がC#
  • 困った時に出てくる情報:多め
  • C#にはJavaScriptにない機能が結構備わっている

JavaScript

  • 小規模・プロトタイプ向き
  • 困った時に出てくる情報:少なめ
  • UnityScriptと呼ばれ、少し独特なあるためJavaScriptとはちょっと異なる
  • 使いたい機能がJavaScriptだと対応していないときがある[これで結局C#を使うハメになる可能性がある]

UnityでJavaScriptを利用する際に注意することがあります。

1.型宣言

C#で型宣言する際は、
型 変数名 = デフォルトの値

となります。

一方、JavaScript(UnityScript)は

var 変数名 = デフォルトの値 : 型

という記述方法になります。
コロンにつなげて型を宣言します。
型宣言するJavaScriptということでブラウザ上のスクリプト言語として使うJavaScriptとはちょっと記法が変わっています。

これは、関数宣言にも通じています。

C#で型宣言する際は、
型 関数名( 引数 ) {}

となります。
最初の型宣言は、関数の戻り値の型を宣言します。

一方、JavaScript(UnityScript)は

function( パラメータ名 : 型 ) {}

という記述方法になります。
引数の記述の箇所でも、コロンにつなげて型を宣言するという記法になります。

2. デフォルトのアクセス修飾子

C#では修飾子を省略した場合、privateで宣言されます。
JavaScript(UnityScript)では修飾子を省略した場合、publicで宣言されます。

まとめ

情報量、機能の充実、さらには普段書いているJavaScript(UnityScript)の記述からUnity用にちょっと変更しないといけないことなどを考慮すると、C#で実装することがベターだと思います!
JSerならできることならJavaScriptで完結したいと考えるかもしれません。しかし、これを機にC#という新たな言語を勉強してデベロッパーとしてのスキルを拡充してはいかがでしょうか!

© eggplant