我有时会看到声明了变量类型的 Node 代码,例如:
const st: string = "hello world";
什么版本的 Node 支持这个?我在哪里可以找到这方面的文档(这是“静态类型”,对吗?)? 我可以在方法变量中使用它吗?
最佳答案
这不是 JavaScript,而是 TypeScript ;请参阅文档链接。 TypeScript 基本上是 JavaScript,上面覆盖了类型系统。然后由 TypeScript 编译器将其编译为 JavaScript。 (编译器还倾向于在 JavaScript 引擎(如 V8 中的引擎)原生支持新的 JavaScript 功能之前支持它们。例如,TypeScript 的编译器目前支持 public class fields ,该功能尚未包含在 JavaScript 规范中,但很可能会在在某个阶段。)
Can I use this in method variables?
是的,绝对:
function foo() : void {
let a : number = 42;
let q : string = "Life, the Universe, and Everything";
// ...
}
如果您尝试将 "glarb"
分配给 a
,TypeScript 编译器会给您一个错误,因为 a
被声明为 数字
。同样,尝试从函数返回某些内容会引发错误,因为该函数被声明为具有 void
返回类型(不返回任何内容)。
编译为:
function foo() {
var a = 42;
var q = "Life, the Universe, and Everything";
// ...
}
...可以在任何 JavaScript 环境中运行。
关于javascript - Nodejs变量静态类型如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40702870/