nodejs如何变量静态类型工作

时间:2016-11-20 10:17:40

标签: javascript node.js

我有时会看到声明了变量类型的Node代码,例如:

const st: string = "hello world";

哪个版本的节点支持此功能?我在哪里可以找到关于此的文档(这是“静态类型”对吗?)? 我可以在方法变量中使用它吗?

1 个答案:

答案 0 :(得分:1)

那不是JavaScript,而是TypeScript;请参阅文档链接。 TypeScript基本上是JavaScript,其上覆盖有类型系统。然后由TypeScript编译器将其编译为JavaScript。 (编译器也倾向于支持新的JavaScript功能,然后才能像J8中那样在JavaScript引擎中本地支持。例如,TypeScript的编译器目前支持public class fields,它们不是Sample_AddRow。在JavaScript规范中,但很可能在某个阶段。)

  

我可以在方法变量中使用它吗?

是的,绝对:

function foo() : void {
    let a : number = 42;
    let q : string = "Life, the Universe, and Everything";

    // ...
}

如果您尝试将"glarb"分配给a,则TypeScript编译器会给您一个错误,因为a被声明为number。类似地,尝试从函数返回某些内容会引发错误,因为该函数被声明为具有void返回类型(不会返回任何内容)。

编译为:

function foo() {
    var a = 42;
    var q = "Life, the Universe, and Everything";
    // ...
}

...可以在任何JavaScript环境中运行。