1# ArkTS方舟编程语言Changelog 2 3## cl.arkts.1 执行幂运算(\*\*)当底数是1,指数是NaN或ToNumber之后是NaN的情况的返回值变更 4 5**访问级别** 6 7其他 8 9**变更原因** 10 11 ArkTS执行幂运算时,当底数为1,指数为NaN或ToNumber之后是NaN,返回值为1,与[ECMAScript® 2021 Language Specification](https://262.ecma-international.org/12.0/index.html#sec-numeric-types-number-exponentiate)描述不符。 12 13**变更影响** 14 15该变更为不兼容变更。 16 17变更前: 执行幂运算,当底数为1,指数为NaN或ToNumber之后是NaN,返回值为1 18 19变更后: 执行幂运算,当底数为1,指数为NaN或ToNumber之后是NaN,返回值为NaN 20 21**起始 API Level** 22 236 24 25**变更发生版本** 26 27从OpenHarmony SDK 5.0.0.53 版本开始。 28 29**变更的接口/组件** 30 31不涉及 32 33**适配指导** 34 35排查是否对 **(幂运算)有如下情况的使用 36 37例如: 38 39```typescript 40console.log((1 ** NaN).toString()) 41``` 42 43未变更前该用例输出为: 44 45``` 461 47``` 48 49变更后该用例输出为: 50 51``` 52NaN 53``` 54 55> **说明:** 56 57> 对于类似 `1 ** "test"` 的用法,在ets文件中不能使用,但是可能在三方库中有使用,该行为同样会变化。 58 59本变更修复该问题,** (幂运算)对于底数是1,指数为NaN或ToNumber之后是NaN的情况会返回NaN。 60 61 62 63## cl.arkts.2 String.prototype.lastIndexOf 接口查找空字符串行为变更 64 65**访问级别** 66 67其他 68 69**变更原因** 70 71String.prototype.lastIndexOf 接口查找空字符串时返回值为-1,与[ECMAScript® 2021 Language Specification](https://262.ecma-international.org/12.0/index.html#sec-string.prototype.lastindexof)描述不符。 72 73**变更影响** 74 75该变更为不兼容变更。 76 77变更前:String.prototype.lastIndexOf接口查找字符串为空时返回值为-1 78 79变更后:String.prototype.lastIndexOf接口查找字符串为空时返回值为最后一个字符的位置加1 80 81**起始 API Level** 82 836 84 85**变更发生版本** 86 87从OpenHarmony SDK 5.0.0.53 版本开始。 88 89**变更的接口/组件** 90 91String.prototype.lastIndexOf 92 93**适配指导** 94 95排查是否有使用 String.prototype.lastIndexOf 接口查找空字符串的场景 96 97例如: 98 99```typescript 100console.log("abcde".lastIndexOf("").toString()) 101``` 102 103未变更前该用例输出为: 104 105``` 106-1 107``` 108 109变更后该用例输出为: 110 111``` 1125 113``` 114 115本变更修复该问题,String.prototype.lastIndexOf 查找空串的结果是最后一个字符的位置加1。 116 117