这个Javascript代码"var switchToTarget:Transform;"中":"(冒号)的含义是什么?

ste*_*boy 5 actionscript unity-game-engine

只是想知道下面这个Javascript代码中":"(冒号)的含义是什么?

var switchToTarget : Transform;
Run Code Online (Sandbox Code Playgroud)

谢谢,吉诺

CMS*_*CMS 13

编辑:阅读更多关于Unity的内容,他们已经为他们的脚本引擎创建了一个真正自定义的JavaScript (1)实现,它被编译并且具有很多强类型功能,它看起来像ActionScript/ES4,但它不是,该语言称为UnityScript.

此实现使用冒号来表示标识符的类型,例如:

class Person{
   var name : String;
   function Person(n : String){
      name = n;
   }
   function kiss(p : Person){
      Debug.Log(name + " kissed " +  p.name + "!");
   }
}
Run Code Online (Sandbox Code Playgroud)

也可以看看:


您发布的代码无效ECMAScript 3(这是最广泛实施的标准),它只会给您一个SyntaxError.

JavaScript中的冒号符号只有几个用法:

  1. 对象文字语法:

    var obj = { foo: 'bar' };
    
    Run Code Online (Sandbox Code Playgroud)
  2. 条件运算符:

    var test = condition ? 'foo' : 'bar';
    
    Run Code Online (Sandbox Code Playgroud)
  3. 标签声明:

    loop1: while (true) {
      while (true) {
        break loop1; // stop outer loop
      }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  4. switch语句的 case和default子句:

    switch (value) {
      case "foo":
        //..
      break;
      default:
        //..
      break;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  5. 它可以出现在RegExp文字中:

    var re = /(?:)/; // non-capturing group...
    
    Run Code Online (Sandbox Code Playgroud)

  • 然后你还需要提到"string litarals"和"comment literals".;-) (2认同)