Skip to main content

局部绑定

在此,我们讨论函数中能够定义的局部绑定(local bindings)。

不可变绑定

函数中的不可变(immutable)绑定使用 const 关键字进行声明。又称为局部常量(local constant)。

function f() {
const a = 42;
}

可变绑定

函数中的可变(mutable)绑定使用 let 关键字进行声明。又称为局部变量(local variable)。后续的表达式中,可以对局部声明的可变绑定进行修改。

function f() {
let a = 42;
a = 69;
}

无绑定

任意的表达式也可以不用绑定来直接使用。

Unit 类型无绑定

如果一个表达式的类型是 unit,那么它可以直接像一个 JavaScript 语句来使用。

function f0() {
}

function f1(): number {
42
}

function main() {
f0(); // ✅ okay
f1(); // ❌ invalid,表达式类型是 number
}

非 unit 类型无绑定

如上一个例子中的 f1,函数返回类型为 number,非 unit 类型的无绑定需要写成:

function main() {
_ = f1();
}

这是因为,_ = expr; 的语法能够起到提醒读者此处函数返回值显式忽略的效果。