规则:arkts-no-destruct-assignment
级别:错误
ArkTS不支持解构赋值。可使用其他替代方法,例如,使用临时变量。
TypeScript
let [one, two] = [1, 2]; // 此处需要分号
[one, two] = [two, one];
let head, tail
[head, ...tail] = [1, 2, 3, 4];
ArkTS
let arr: number[] = [1, 2];
let one = arr[0];
let two = arr[1];
let tmp = one;
one = two;
two = tmp;
let data: Number[] = [1, 2, 3, 4];
let head = data[0];
let tail: Number[] = [];
for (let i = 1; i < data.length; ++i) {
tail.push(data[i]);
}
逗号运算符,仅用在for循环语句中
规则:arkts-no-comma-outside-loops
级别:错误
为了方便理解执行顺序,在ArkTS中,逗号运算符仅适用于for循环语句中。注意与声明变量、函数参数传递时的逗号分隔符不同。
TypeScript
for (let i = 0, j = 0; i < 10; ++i, j += 2) {
// ...
}
let x = 0;
x = (++x, x++); // 1
ArkTS
for (let i = 0, j = 0; i < 10; ++i, j += 2) {
// ...
}
// 通过语句表示执行顺序,而非逗号运算符
let x = 0;
++x;
x = x++;
不支持解构变量声明
规则:arkts-no-destruct-decls
**级别:**错误
ArkTS不支持解构变量声明。它是一个依赖于结构兼容性的动态特性并且解构声明中的名称必须和被解构对象中的属性名称一致。
TypeScript
class Point {
x: number = 0.0
y: number = 0.0
}
function returnZeroPoint(): Point {
return new Point();
}
let {x, y} = returnZeroPoint();
ArkTS
class Point {
x: number = 0.0
y: number = 0.0
}
function returnZeroPoint(): Point {
return new Point();
}
// 创建一个局部变量来处理每个字段
let zp = returnZeroPoint();
let x = zp.x;
let y = zp.y;
不支持在catch语句标注类型
规则:arkts-no-types-in-catch
级别:错误
在TypeScript的catch语句中,只能标注any或unknown类型。由于ArkTS不支持这些类型,应省略类型标注。
TypeScript
try {
// ...
} catch (a: unknown) {
// 处理异常
}
ArkTS
try {
// ...
} catch (a) {
// 处理异常
}
相关约束
限制throw语句中表达式的类型
那么要想成为一名鸿蒙高级开发,以上知识点是必须要掌握的,除此之外,还需要掌握一些鸿蒙应用开发相关的一些技术,需要我们共同去探索。
为了节省大家一些查找的时间,这边联合几位行业大佬,为大家准备了一份《OpenHarmony4.0&Next》的学习导图,从入门到进阶再到南北向开发实战的一整套完整体系,想要学习了解更多鸿蒙开发的相关知识可以借鉴:《鸿蒙HarmonyOS分布式项目实战》
除了上面整理的思维导图以外,这里还特别整理的一份《鸿蒙 (Harmony OS)开发学习手册》给大家进行参考学习:
一、入门必看
-
应用开发导读(ArkTS)
-
……
二、HarmonyOS 概念
-
系统定义
-
技术架构
-
技术特性
-
系统安全
5…
三、如何快速入门?《一小时快速认识HarmonyOS》
-
基本概念
-
构建第一个ArkTS应用
-
构建第一个JS应用
-
……
四、开发基础知识
-
应用基础知识
-
配置文件
-
应用数据管理
-
应用安全管理
-
应用隐私保护
-
三方应用调用管控机制
-
资源分类与访问
-
学习ArkTS语言
-
……
五、基于ArkTS 开发
-
Ability开发
-
UI开发
-
公共事件与通知
-
窗口管理
-
媒体
-
安全
-
网络与链接
-
电话服务
-
数据管理
-
后台任务(Background Task)管理
-
设备管理
-
设备使用信息统计
-
DFX
-
国际化开发
-
折叠屏系列
-
……
更多了解更多鸿蒙开发的相关知识可以参考:《鸿蒙4.0源码开发架构分析pdf》