
HarmonyOS Next原生应用开发-从TS到ArkTS的适配规则(九)
一、需要显式标注泛型函数类型实参
规则:arkts-no-inferred-generic-params
级别:错误
如果可以从传递给泛型函数的参数中推断出具体类型,ArkTS允许省略泛型类型实参。否则,省略泛型类型实参会发生编译时错误。
禁止仅基于泛型函数返回类型推断泛型类型参数。
TypeScript
ArkTS
二、需要显式标注对象字面量的类型
规则:arkts-no-untyped-obj-literals
级别:错误
在ArkTS中,需要显式标注对象字面量的类型,否则,将发生编译时错误。在某些场景下,编译器可以根据上下文推断出字面量的类型。
在以下上下文中不支持使用字面量初始化类和接口:
初始化具有any、Object或object类型的任何对象
初始化带有方法的类或接口
初始化包含自定义含参数的构造函数的类
初始化带readonly字段的类
例子1
TypeScript
ArkTS
例子2
TypeScript
ArkTS
例子3
TypeScript
ArkTS
例子4
TypeScript
ArkTS
例子5
TypeScript
ArkTS
例子6
TypeScript
ArkTS
相关约束
对象字面量不能用于类型声明
数组字面量必须仅包含可推断类型的元素
三、对象字面量不能用于类型声明
规则:arkts-no-obj-literals-as-types
级别:错误
ArkTS不支持使用对象字面量声明类型,可以使用类或者接口声明类型。
TypeScript
ArkTS
相关约束
对象字面量必须对应某些显式声明的类或接口
数组字面量必须仅包含可推断类型的元素
本文根据HarmonyOS NEXT Developer Beta1官方公开的开发文档整理而成。
