第2章:ArkTS基本语法
变量与常量
1. 变量声明与使用
在ArkTS中,变量是存储数据的基本单元。使用let和var关键字声明变量:
let name: string = "ArkTS"; // 块级作用域变量
var version: number = 1.0; // 函数级作用域变量
特点:
let声明的变量具有块级作用域var声明的变量会提升到函数作用域顶部- 推荐优先使用
let以避免变量提升带来的问题
2. 常量声明
使用const声明不可变的常量:
const PI: number = 3.1415926;
const APP_NAME: string = "MyArkTSApp";
规范:
- 常量名通常使用全大写字母+下划线命名法
- 声明时必须初始化
- 尝试修改常量会导致编译错误
3. 类型注解与推断
ArkTS支持显式类型注解和自动类型推断:
// 显式类型注解
let count: number = 10;
// 类型推断(自动推导为string类型)
let message = "Hello ArkTS";
4. 变量作用域
| 关键字 | 作用域类型 | 重复声明 | 变量提升 |
|---|---|---|---|
| var | 函数作用域 | 允许 | 是 |
| let | 块级作用域 | 不允许 | 否 |
| const | 块级作用域 | 不允许 | 否 |
5. 最佳实践
- 优先使用const:除非需要重新赋值,否则默认使用const
- 避免使用var:防止变量提升和污染全局命名空间
- 显式类型声明:复杂类型建议显式声明提高可读性
- 命名规范:
- 变量:camelCase(如
userName) - 常量:UPPER_CASE(如
MAX_SIZE)
- 变量:camelCase(如
示例代码
// 变量示例
let isLoading: boolean = true;
var currentPage = 1; // 自动推断为number类型
// 常量示例
const API_TIMEOUT = 5000;
const DEFAULT_CONFIG = {
retry: 3,
cache: true
};
// 块级作用域演示
function demoScope() {
if (true) {
let blockVar = "inner";
var functionVar = "outer";
}
console.log(functionVar); // 正常输出
console.log(blockVar); // 报错:blockVar未定义
}
注意:ArkTS作为TypeScript的超集,其变量/常量语法与TS基本一致,但会根据HarmonyOS平台特性进行特定优化。
