| title | 变量与常量 |
|---|---|
| order | 5 |
StaticScript 的变量和常量均需要先声明后使用
在声明时, 变量必须显式地标注类型或者赋初值(用于类型推导)
在声明时, 常量必须赋初值, 而显式的类型标注则是可选的
- 变量的声明修饰符是
let, 而常量的声明修饰符是const - 常量只能在声明时赋值, 不允许二次赋值
声明布尔变量
// 显式类型
let a: boolean;
// 类型推导
let b = true;声明整数变量
// 显式类型
let c: int;
// 类型推导
let d = 1;声明浮点数变量
// 显式类型
let e: number;
// 类型推导
let f = 1.2;声明字符串变量
// 显式类型
let g: string;
// 类型推导
let h = "content";声明数组
// 显式类型
let i: number[] = [];
// 类型推导
let j = [1, 2];声明布尔常量
// 显式类型
const a: boolean = true;
// 类型推导
const b = true;声明整数常量
// 显式类型
const c: int = 1;
// 类型推导
const d = 1;声明浮点数常量
// 显式类型
const e: number = 1.1;
// 类型推导
const f = 1.2;声明字符串常量
// 显式类型
const g: string = "hi";
// 类型推导
const h = "content";声明数组常量
// 显式类型
const i: number[] = [1.1, 2.2];
// 类型推导
const j = [1, 2];变量在声明时既没有显式类型, 也没有初值
// error
let a;变量或者常量在声明时, 显式类型和自动推导出来的类型冲突
// error
let a: number = true;
// error
const a: string = 20;常量在声明的时候没有赋初值
// error
const A;
// error
const B: number;常量在声明后被二次赋值
// error
const A = 10;
A = 20;没有显式声明类型的空数组
// error
let arr1 = [];
// error
const arr2 = [];之所以报错是因为 StaticScript 无法从空数组推导出类型