HarmonyOS 鸿蒙Next 原生应用开发-从TS到ArkTS的适配规则(四)
HarmonyOS 鸿蒙Next 原生应用开发-从TS到ArkTS的适配规则(四) 一、不支持以#开头的私有字段
规则:arkts-no-private-identifiers
级别:错误
ArkTS不支持使用#符号开头声明的私有字段。改用private关键字。
TypeScript
class C {
#foo: number = 42
}
ArkTS
class C {
private foo: number = 42
}
二、类型、命名空间的命名必须唯一
规则:arkts-unique-names
级别:错误
类型(类、接口、枚举)、命名空间的命名必须唯一,且与其他名称(例如:变量名、函数名)不同。
TypeScript
let X: string
type X = number[] // 类型的别名与变量同名
ArkTS
let X: string
type T = number[] // 为避免名称冲突,此处不允许使用X
三、使用let而非var
规则:arkts-no-var
级别:错误
let关键字可以在块级作用域中声明变量,帮助程序员避免错误。因此,ArkTS不支持var,请使用let声明变量。
TypeScript
function f(shouldInitialize: boolean) {
if (shouldInitialize) {
var x = 'b';
}
return x;
}
console.log(f(true)); // b
console.log(f(false)); // undefined
let upperLet = 0;
{
var scopedVar = 0;
let scopedLet = 0;
upperLet = 5;
}
scopedVar = 5; // 可见
scopedLet = 5; // 编译时错误
ArkTS
function f(shouldInitialize: boolean): string {
let x: string = 'a';
if (shouldInitialize) {
x = 'b';
}
return x;
}
console.log(f(true)); // b
console.log(f(false)); // a
let upperLet = 0;
let scopedVar = 0;
{
let scopedLet = 0;
upperLet = 5;
}
scopedVar = 5;
scopedLet = 5; //编译时错误
本文根据HarmonyOS NEXT Developer Beta1官方公开的开发文档整理而成。
更多关于HarmonyOS 鸿蒙Next 原生应用开发-从TS到ArkTS的适配规则(四)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next 原生应用开发-从TS到ArkTS的适配规则(四)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
HarmonyOS 鸿蒙Next 原生应用开发-从TS到ArkTS的适配规则(四)
在HarmonyOS鸿蒙Next原生应用开发中,从TypeScript(TS)到ArkTS的适配主要涉及语言特性和框架接口的转换。以下是从TS到ArkTS适配的关键规则:
-
类型系统:ArkTS基于TypeScript扩展,但增加了一些特定于鸿蒙系统的类型。确保你的类型定义与ArkTS的类型系统兼容,特别是针对鸿蒙系统特有的数据类型和接口。
-
组件化开发:ArkTS强调组件化,与TS的传统开发模式有所不同。需要将原有的TS代码重构为ArkTS的组件结构,利用ArkTS提供的组件化特性进行开发。
-
生命周期管理:ArkTS组件有自己的生命周期,与TS中的类或对象生命周期不同。需要按照ArkTS的生命周期方法(如
onCreate
、onDestroy
等)来管理组件的状态和行为。 -
API适配:部分TS中使用的API在ArkTS中可能不可用或需要替换为鸿蒙系统提供的API。确保所有API调用都符合鸿蒙系统的规范。
-
编译与打包:ArkTS有特定的编译和打包流程,需要使用鸿蒙系统提供的工具链进行构建。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html