☰
11. ArkTS 标识符 关键字|命名规则详解
2026/10/27 2:03:36 网站建设 项目流程

标识符,就是我们给变量、常量起的名字。编译器按一套规则检查它。名字不合规则,代码直接报错。

名字里只允许四样:英文字母、数字、下划线_、美元符号$。

不能以数字开头。1SHOP_SIGN不行,SHOP_SIGN可以。

大小写是两个名字。milkTea和MilkTea不是同一个标识符,这里很容易搞混。

关键字也不能拿来当名字。let、const、string这些词,编译器留着自己用。

动画视频在《11. ArkTS 标识符 & 关键字|命名规则详解》 。

关键字

关键字是 ArkTS 预先保留、自带特殊语法含义的词。编译器识别它们,用来完成特定功能,不可以作为标识符。

类型名也占着。string是字符串类型,写在冒号后面,不能再拿去当变量名。number、boolean同样不行。

关键字作用关键字作用
abstract抽象类修饰符as类型强制转换
async异步函数声明await等待异步任务执行完成
break跳出循环或 switch 分支caseswitch 语句的分支
class定义类const声明只读常量
constructor类的构造方法continue跳过本次循环,进入下一轮
dodo-while 循环的起始else条件分支,否则
enum定义枚举export导出模块成员
extends类继承false布尔假值
final禁止类被继承,变量不可二次修改forfor 循环
function定义函数if条件判断
implements实现接口import导入模块成员
interface定义接口internal模块内访问权限
let声明可变变量native调用原生 C/C++ 代码
new实例化对象null空值
override重写父类方法package包名定义
private私有访问权限protected受保护访问权限
public公有访问权限return函数返回结果
static静态成员修饰符super调用父类的构造与方法
switch多分支条件语句this指代当前实例对象
throw主动抛出异常true布尔真值
try捕获异常的代码块whilewhile 循环
undefined未定义值

类型名

这些是基础类型,同样不能用来命名。

类型名作用类型名作用
boolean布尔类型number数字类型
string字符串类型void无返回值类型
bigint大整数类型byte字节整数类型
short短整数类型int整数类型
long长整数类型float单精度浮点类型
double双精度浮点类型char单个字符类型
object对象类型

这些也不能当名字

关键字作用关键字作用
catch捕获异常declare声明外部类型
finally异常收尾代码块from导入模块的来源
get属性读取器in遍历对象属性
instanceof判断对象类型namespace命名空间
of遍历数组元素out输出参数标记
readonly只读属性set属性写入器
type自定义类型别名typeof获取变量类型

起名字时先躲开上面这些词。某个词后面课上才会用到,到时候再看它干什么。

这段代码错在哪

还是奶茶店那一单。下面这份代码过不了编译,里面有五处命名问题。

/*------------------------------ 标识符命名规则 -------------------------------*/ // 奶茶店招牌 const 1SHOP_SIGN: string = '甜蜜奶茶屋'; // SHOP_SIGN = '快乐奶茶铺'; // 杯型 let cup-size: string = '大杯'; // 奶茶名称 let let: string = '珍珠奶茶'; // 价格(单位:元) let string: number = 15; let milkTea: string = '红豆奶茶'; let MilkTea: string = '烧仙草奶茶';

第一处,const 1SHOP_SIGN。标识符不能以数字开头。改成SHOP_SIGN。引号里的店名不动,还是甜蜜奶茶屋。

第二处,let cup-size。减号不在允许的字符里。标识符只能用字母、数字、下划线和$。改成cup_size。

第三处,let let。let是关键字,不能作为标识符。奶茶名称改成drinkName。

第四处,let string。string是基础类型保留字,同样不能用来命名。价格改成price。

最后两行,milkTea和MilkTea。问一句:这是同一个变量吗?不是。ArkTS 严格区分大小写,它们是两个独立的变量。红豆奶茶改成redBeanMilkTea,烧仙草奶茶改成grassJellyMilkTea。

改完再看一遍

五处都改过,代码是这样:

/*------------------------------ 标识符命名规则 -------------------------------*/ // 奶茶店招牌 const SHOP_SIGN: string = '甜蜜奶茶屋'; // SHOP_SIGN = '快乐奶茶铺'; // 杯型 let cup_size: string = '大杯'; // 奶茶名称 let drinkName: string = '珍珠奶茶'; // 价格(单位:元) let price: number = 15; // 红豆奶茶 let redBeanMilkTea: string = '红豆奶茶'; // 烧仙草奶茶 let grassJellyMilkTea: string = '烧仙草奶茶';

数字开头去掉了,减号换成下划线。let和string还给编译器。红豆和烧仙草各用各的名字,不再靠大小写去分。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询