• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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