JavascriptかC#か?
海外向けの書籍にはjavascriptで書かれているものも多いですが、個人的にはC#じゃないかと思います。
理由は、Unityのjavascriptはjavascriptではなく、javascriptにかなり似た独自の言語だからです。
また、その言語仕様について断片的なまとめは存在するものの、包括的なドキュメントも無いので結構厄介です。
例えば下記のコード
var hoge1 = obj.prop; var hoge2 = obj["prop"];通常のjavascriptだとhoge1もhoge2も同じになるのですが、C#のjsだとhoge2の書き方が許可されておらず、エラーになります。 その他にもダックタイピングが使えないとかthisの使い方がおかしいとか、諸々特殊なところが多いです。下記のサイトたちによくまとまっています。
- UnityScript versus JavaScript - Unify Community Wiki
- UnityScript と JavaScript の違い | Lonely Mobiler
- http://tanku.hatenablog.jp/entry/20120606/1338999149
こんな謎の言語仕様を勉強するよりC#で素直に書いた方が、自動補完も効くしむしろ早いと思いました。