TypeScript:const常量 作者:马育民 • 2025-10-12 20:12 • 阅读:10003 # 介绍 常量是指声明后 **不可修改** 的值,使用 `const` 关键字定义。**不能重新赋值**,这有助于提高代码的 **可读性** 和 **稳定性** 对于不会修改的值,尽量使用 `const` 而非 `let`,明确表达不可变意图 ### 应用场景 - 类似手机中的 `关于`,里面的 CPU、屏幕尺寸、内存等配置是固定的,不能修改的 - 圆周率 `PI` 就应该定义为常量,否则被某个程序员手误改错了,会影响计算 ### 命名规范 常量名通常使用全大写字母,多个单词之间用下划线连接(如 `MAX_LENGTH`) # 用法 ```typescript // 声明基本类型常量 const PI: number = 3.14159; const APP_NAME: string = "鸿蒙应用"; const IS_DEBUG: boolean = false; // 声明后不能重新赋值(会编译报错) // PI = 3.14; // 错误:无法分配到 "PI" ,因为它是常数 ``` # 特点 ### 必须初始化 声明时必须赋值,不能只声明不初始化 ```typescript // 错误:常量声明必须包含初始化表达式 const MAX_SIZE: number ``` ### 类型可以省略 会自动类型推断 ```typescript const COUNT = 100; // 自动推断为 number 类型 const MESSAGE = "Hello"; // 自动推断为 string 类型 ``` ### 引用类型常量 引用类型(对象、数组等)的常量,其引用不可变,但内部属性可以修改 ```typescript // 数组常量 const arr = [1,2,3.14,200] arr[0] = 100 // 允许:数组内部元素 arr = [300,500] ``` ``` arr = [300,500] // 错误:不能重新赋值引用 ``` # 常量的作用域 常量的作用域遵循块级作用域规则,即仅在声明它的代码块(`{}`)内有效: ```typescript if (true) { const SCOPE_MSG = "块级常量"; console.log(SCOPE_MSG); // 正确:在作用域内 } // console.log(SCOPE_MSG); // 错误:超出作用域 ``` # 常量与枚举结合使用 常使用 `enum` 配合常量定义一组相关的固定值: ```typescript enum Direction { UP, DOWN, LEFT, RIGHT } const DEFAULT_DIRECTION = Direction.UP; function move(direction: Direction = DEFAULT_DIRECTION) { console.log(`移动方向:${direction}`); } ``` # 使用推荐 **集中管理常量**:对于全局使用的常量,建议集中放在单独的文件中(如 `constants.ets`),便于维护 ```typescript // constants.ets export const MAX_RETRY_COUNT = 3; export const API_BASE_URL = "https://api.example.com"; export const TIMEOUT_MS = 5000; ``` 通过合理使用常量,可以使代码更加健壮、可维护,**减少因意外修改导致的错误**。 原文出处:http://malaoshi.top/show_1GW21rwEXqyI.html