javascript - Nodejs变量静态类型如何工作

标签 javascript node.js

我有时会看到声明了变量类型的 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/

相关文章:

javascript - 如何从不包括 "N/A"值的下拉列表中计算平均值

javascript - 位置固定;左边工作正常,右边不行

javascript - 在 Node js 中将 360 度 View 转换为等距柱状 View ?

mysql - 如何将我的查询转换为 Sequelize 查询?

node.js - 锁定 postgres 事务

javascript - 滚动一些 div 并同时滚动 body

javascript - 如何在点击时触发 css 3d 动画

node.js - Docker mongo - MongoError : command insert requires authentication

javascript - K2 onclick 添加评级 5 onclick

node.js - 安装 Node 但缺少node_modules中的所有包