鸿蒙初开,开天辟地
枚举
枚举是编程语言中常见的一种数据类型,主要是为了定义一组有限的选项,例如应用中的一些常量,用的很频繁但是不会出现什么变动的值,我们都可以封装为枚举类的常量
如上下左右这样的方向,春夏秋冬这样的季节,或者月份之类的
定义枚举需要使用enum关键字
enum Brand{
HUAWEI,
XIAOMI,
OPPO,
VIVO,
APPLE
}
enum枚举的使用原则
访问枚举属性就和正常访问类变量是一样的
enum Brand{
HUAWEI,
XIAOMI,
OPPO,
VIVO,
APPLE
}
let first:Brand = Brand.HUAWEI;
console.log(Brand.HUAWEI);
使用枚举值
枚举值的类型
枚举值的类型是enum,Brand.HUAWEI;Brand.XIAOMI;它们值的类型都是Brand
使用枚举类
我们现在实现一个走路的方法,需要更具用户(模拟触发了键盘或是鼠标事件给我们一个方向的情况)输入方向进行移动,因为这里只有上下左右四种方向,我们就可以选择使用枚举的方式实现
enum direction{
U,
B,
L,
R
}
我们定义一个角色移动的方法出来
function move(direction:Direction):void{
if(direction===Direction.U){
console.log("角色向上移动了");
}
else if(direction===Direction.B){
console.log("角色向下移动了");
}
else if(direction===Direction.L){
console.log("角色向左移动了");
}
else if(direction===Direction.R){
console.log("角色向右移动了");
}
else{
console.log("输入内容不合法,要么是程序错误,要么是玩家作弊");
}
}
使用枚举
接下来我们使用一下这个方法,直接往方法里传递枚举值就可以实现了
enum Direction{
U,
B,
L,
R
}
function move(direction:Direction):void{
if(direction===Direction.U){
console.log("角色向上移动了");
}
else if(direction===Direction.B){
console.log("角色向下移动了");
}
else if(direction===Direction.L){
console.log("角色向左移动了");
}
else if(direction===Direction.R){
console.log("角色向右移动了");
}
else{
console.log("输入内容不合法,要么是程序错误,要么是玩家作弊");
}
}
move(Direction.U);
move(Direction.B);
move(Direction.L);
move(Direction.R);
使用move方法
可以看到,如我们预期般执行了,这里同样是通过一个小DEMO展示枚举类在实际开发中的应用场景