当在 .ets 文件中定义类型如下:
type demo3 = { a: string }
会提示报错:Object literals cannot be used as type declarations (arkts-no-obj-literals-as-types) <ArkTSCheck\>
而先定义 interface demo1 = { a: string } 再定义 type demo2 = demo1 就没有问题,这个应该是 IDE 检查问题。
Typescript 是支持使用 Type 类型定义,类型定义还要定义自己的类型定义,这个有问题。
当前规范请参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/typescript-to-arkts-migration-guide-0000001820879565
对象字面量不能用于类型声明规则:arkts-no-obj-literals-as-types
级别:错误
ArkTS不支持使用对象字面量声明类型,可以使用类或者接口声明类型。
相关约束
对象字面量必须对应某些显式声明的类或接口
数组字面量必须仅包含可推断类型的元素