HarmonyOS 鸿蒙Next中ArkTS是否不完美兼容TS?

HarmonyOS 鸿蒙Next中ArkTS是否不完美兼容TS?

想给String 类型增加一个’md5’ 快捷方法

// 声明全局扩展
import CryptoJS from '@ohos/crypto-js'

declare global {
  interface String {
    // 添加一个新的方法
    encryptionWithConfig(): string;
  }
}

String.prototype.encryptionWithConfig = function() {
  return CryptoJS.MD5(this).toString()
}

使用

this.password.encryptionWithConfig()

预编译没有提示问题,运行就报错

ERROR: ArkTS:ERROR File: /entry/src/main/ets/pages/LoginPage.ets:193:30
 Property 'encryptionWithConfig' does not exist on type 'String'.

这是不是说明ArkTS 不兼容啊,有没有大佬知道的,怎么解决


更多关于HarmonyOS 鸿蒙Next中ArkTS是否不完美兼容TS?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

String和string是有区别的,目前识别的默认是string,小写

更多关于HarmonyOS 鸿蒙Next中ArkTS是否不完美兼容TS?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


我知道有区别,但是ts 是这么写的,而且也可以,难不成去扩展string?,大小写我反复试过了,阁下有什么可以解决的吗,目前我用函数代替的。

没办法,不去扩展string,只能用函数,

我扩展String的replaceAll方法也遇到了这个问题,感觉鸿蒙系统是阉割版的ts,坑太多。

现在我都用的函数,先用着吧,也许后面的版本会解决。

在HarmonyOS 鸿蒙Next中,ArkTS是基于TypeScript(TS)的扩展,主要针对鸿蒙生态进行了优化和增强。虽然ArkTS保留了TS的核心语法和特性,但由于其专注于鸿蒙设备的高性能和低功耗需求,部分TS的库和功能可能无法完全兼容。开发者在使用ArkTS时,需要注意其对TS的特定限制和扩展,确保代码在鸿蒙环境中的最佳表现。

回到顶部