类型系统

类型系统

> LeekScript

从 2.38 更新起,可以在 LeekScript 中使用类型。

类型

复合类型

| 符号可以构造复合类型,例如 integer | string 表示一个既可以是整数、也可以是字符串的值。

想组合多少个类型都可以,例如 integer | boolean | string | Array

如果复合类型里要包含 null,例如 Array | null,可以写成 Array?

变量的类型标注

函数的类型标注

标准函数
lambda 函数(匿名函数)

for 循环的类型标注

类字段的类型标注

方法的类型标注

类型运算符

! 运算符

! 运算符可以去掉一个值类型里的 null,从而改变它的类型标注。它既不会转换这个值,也不会让使用它变得安全。 例如对于 integer | null 类型:

它也可以用在对象的连续访问中:objet.toto!.tutu 不过,如果 objet.toto 是 null,运行时就会崩溃。这个运算符如今的主要用途,是在带类型的严格模式下消除警告,并确保某个变量在运行时不是 null。

as 运算符

as 运算符可以把一个值转换成任意类型,只要这种转换是可行的: