[文章]HarmonyOS Next原生应用开发-从TS到ArkTS的适配规则(十四)

阅读量0
0
0

逗号运算符,仅用在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();

1.2.3.4.5.6.7.8.9.10.11.

ArkTS

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语句中表达式的类型
本文根据HarmonyOS NEXT Developer Beta1官方公开的开发文档整理而成。

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友