不支持,需要显式标注对象字面量的类型,可以参考以下文档https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/typescript-to-arkts-migration-guide-V5\#%E9%9C%80%E8%A6%81%E6%98%BE%E5%BC%8F%E6%A0%87%E6%B3%A8%E5%AF%B9%E8%B1%A1%E5%AD%97%E9%9D%A2%E9%87%8F%E7%9A%84%E7%B1%BB%E5%9E%8B建议使用嵌套类实现(类内部嵌套匿名类)。因为使用匿名类创建的对象类型未知,这与ArkTS不支持structural typing和对象字面量的类型冲突,可以参考以下方案export interface IVoiceRecordListener<T> { onSuccess:(t: T)=> void onFailed:(code: string, reason: string)=> void } let voiceRecordListenerInstance: IVoiceRecordListener<void> = { onSuccess: () => { console.log('success') }, onFailed: () => { console.log('failed') } }// 原先 class A { foo() { let a = new class { v: number = 123 }(); } } // 现在 class A { foo() { class B { v: number = 123 } let b = new B(); } }
不支持,需要显式标注对象字面量的类型,可以参考以下文档https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/typescript-to-arkts-migration-guide-V5\#%E9%9C%80%E8%A6%81%E6%98%BE%E5%BC%8F%E6%A0%87%E6%B3%A8%E5%AF%B9%E8%B1%A1%E5%AD%97%E9%9D%A2%E9%87%8F%E7%9A%84%E7%B1%BB%E5%9E%8B
建议使用嵌套类实现(类内部嵌套匿名类)。因为使用匿名类创建的对象类型未知,这与ArkTS不支持structural typing和对象字面量的类型冲突,可以参考以下方案