6

UnityJSに関する記事を読んでいました。この記事では、Unityjsのクラスの例を示しました。

class Person{
    var name;
    var career;
}

//Create objects of type Person
var john = Person();
john.name = "John Smith";
john.career = "doctor";
Debug.Log(john.name + " is a " + john.career);

UnityJSが実際にclassキーワードをサポートしているようです。classJavaScriptでどのようにサポートされますか?彼らは死んだES4仕様を使用していますか、それとも変更されたES3または5を使用していますか?

4

2 に答える 2

9

UnityScriptとJavaScriptの違いに関する次の記事を確認してください:http ://wiki.unity3d.com/index.php?title = UnityScript_versus_JavaScript

さらに、ウィキペディアでは、UnityScriptを「ECMAScriptに触発された構文を持つカスタム言語」と説明しています。

于 2012-09-07T08:11:37.943 に答える
1

UnityのJavascriptは実際のJavascriptではなく、同様の構文を持つ初心者向けの新しい言語です。2つの異なる言語であるため、UnityScriptと呼ぶことを好む人もいます。

UnityのJavascriptは、すべてのOOP機能をサポートするクラスベースのオブジェクト指向言語であり、UnityのC#と同じアセンブリコードにコンパイルできます。

たとえば、Unityのjavascriptファイル「Foo.js」

var myVar : int;
function Update() {}

次のようなC#スクリプトと同じです

class Foo : MonoBehaviour {
    int myVar;
    void Update() {}
}

Foo.jsでキーワード「class」が見つからなくても100%同一であることを意味しますが、実際にはFooオブジェクトを作成しています。

別のスクリプト「Boo.js」でクラスFooを継承して、私が言っていることを確認できます。

class Boo extends Foo {
    function Update() {}
}

Unityのjavascriptにはjavscriptの構文がありますが、C#の精神です。

于 2012-09-08T06:54:19.293 に答える