js-apis-util.md 65.9 KB
Newer Older
Z
zengyawen 已提交
1 2
# util工具函数

Z
zengyawen 已提交
3

Z
zengyawen 已提交
4 5
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
6

Z
zengyawen 已提交
7

Z
zengyawen 已提交
8 9 10
该模块主要提供常用的工具函数,实现字符串编解码(TextEncoder,TextDecoder)、有理数运算(RationalNumber)、缓冲区管理(LruBuffer)、范围判断(Scope)、Base64编解码(Base64)、内置对象类型检查(Types)等功能。


Z
zengyawen 已提交
11
## 导入模块
Z
zengyawen 已提交
12 13

```
Z
zengyawen 已提交
14
import util from '@ohos.util';
Z
zengyawen 已提交
15 16
```

Z
zengyawen 已提交
17 18
## util.printf

Z
zengyawen 已提交
19
printf(format: string,  ...args: Object[]): string
Z
zengyawen 已提交
20 21 22

通过式样化字符串对输入的内容按特定格式输出。

Z
zengyawen 已提交
23 24 25
**系统能力:** SystemCapability.Utils.Lang

**参数:**
26

27 28 29 30
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| format | string | 是 | 式样化字符串。 |
| ...args | Object[] | 否 | 待式样化数据。 |
Z
zengyawen 已提交
31

Z
zengyawen 已提交
32
**返回值:**
33

34 35 36
| 类型 | 说明 |
| -------- | -------- |
| string | 按特定格式式样化后的字符串。 |
Z
zengyawen 已提交
37

Z
zengyawen 已提交
38
**示例:**
39
  ```js
40
  let res = util.printf("%s", "hello world!");
Z
zengyawen 已提交
41 42 43 44 45 46 47
  console.log(res);
  ```


## util.getErrorString

getErrorString(errno: number): string
Z
zengyawen 已提交
48 49 50

获取系统错误码对应的详细信息。

Z
zengyawen 已提交
51 52 53
**系统能力:** SystemCapability.Utils.Lang

**参数:**
54

55 56 57
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| errno | number | 是 | 系统发生错误产生的错误码。 |
Z
zengyawen 已提交
58

Z
zengyawen 已提交
59
**返回值:**
60

61 62 63
| 类型 | 说明 |
| -------- | -------- |
| string | 错误码对应的详细信息。 |
Z
zengyawen 已提交
64

Z
zengyawen 已提交
65
**示例:**
66
  ```js
67 68
  let errnum = 10; // 10 : a system error number
  let result = util.getErrorString(errnum);
Z
zengyawen 已提交
69 70 71 72 73 74
  console.log("result = " + result);
  ```


## util.callbackWrapper

Z
zengyawen 已提交
75
callbackWrapper(original: Function): (err: Object, value: Object )=>void
Z
zengyawen 已提交
76 77 78

对异步函数进行回调化处理,回调中第一个参数将是拒绝原因(如果 Promise 已解决,则为 null),第二个参数将是已解决的值。

Z
zengyawen 已提交
79 80 81 82
**系统能力:** SystemCapability.Utils.Lang

**参数:**

83 84 85
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| original | Function | 是 | 异步函数。 |
Z
zengyawen 已提交
86

Z
zengyawen 已提交
87
**返回值:**
88

89 90 91
| 类型 | 说明 |
| -------- | -------- |
| Function | 返回一个第一个参数是拒绝原因(如果 Promise 已解决,则为 null),第二个参数是已解决的回调函数。 |
Z
zengyawen 已提交
92

Z
zengyawen 已提交
93
**示例:**
94
  ```js
Z
zengyawen 已提交
95 96 97
  async function promiseFn() {
      return Promise.reject('value');
  }
98 99
  let err = "type err";
  let cb = util.callbackWrapper(promiseFn);
Z
zengyawen 已提交
100
  cb((err, ret) => {
Z
zengyawen 已提交
101 102
      console.log(err);
      console.log(ret);
S
shikai-123 已提交
103
  }, err)
Z
zengyawen 已提交
104 105 106
  ```


107
## util.promiseWrapper<sup>(deprecated)</sup>
Z
zengyawen 已提交
108 109

promiseWrapper(original: (err: Object, value: Object) =&gt; void): Object
Z
zengyawen 已提交
110

111
> **说明:**<br/>
S
shikai-123 已提交
112
> 从API Version 9开始废弃,建议使用[util.promisify9+](#utilpromisify9)替代。
113

Z
zengyawen 已提交
114 115
对异步函数处理并返回一个promise的版本。

Z
zengyawen 已提交
116 117 118
**系统能力:** SystemCapability.Utils.Lang

**参数:**
119

120 121 122
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| original | Function | 是 | 异步函数。 |
Z
zengyawen 已提交
123

Z
zengyawen 已提交
124
**返回值:**
125

126 127 128
| 类型 | 说明 |
| -------- | -------- |
| Function | 采用遵循常见的错误优先的回调风格的函数(也就是将&nbsp;(err,&nbsp;value)&nbsp;=&gt;&nbsp;...&nbsp;回调作为最后一个参数),并返回一个返回&nbsp;promise&nbsp;的版本。 |
Z
zengyawen 已提交
129

S
shikai-123 已提交
130
## util.promisify<sup>9+</sup>
131

S
shikai-123 已提交
132
promisify(original: (err: Object, value: Object) =&gt; void): Function
133 134 135 136 137 138

对异步函数处理并返回一个promise的函数。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
139

140 141 142 143 144
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| original | Function | 是 | 异步函数。 |

**返回值:**
145

146 147 148 149 150 151
| 类型 | 说明 |
| -------- | -------- |
| Function | 采用遵循常见的错误优先的回调风格的函数(也就是将&nbsp;(err,&nbsp;value)&nbsp;=&gt;&nbsp;...&nbsp;回调作为最后一个参数),并返回一个返回&nbsp;promise&nbsp;的函数。 |

**示例:**
  ```js
S
shikai-123 已提交
152 153 154 155 156 157
  function aysnFun(str1, str2) {
    if (typeof str1 === 'object' && typeof str2 === 'object') {
      return str2
    } else {
      return str1
    }
158
  }
S
shikai-123 已提交
159
  let newPromiseObj = util.promisify(aysnFun);
S
shikai-123 已提交
160 161
  newPromiseObj({ err: "type error" }, {value:'HelloWorld'}).then(res => {
    console.log(res);
162 163
  })
  ```
Z
zengyawen 已提交
164

L
linhaoran 已提交
165 166 167 168 169 170 171 172 173
## util.randomUUID<sup>9+</sup>

randomUUID(entropyCache?: boolean): string

使用加密安全随机数生成器生成随机的RFC 4122版本4的 UUID。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
174

L
linhaoran 已提交
175 176 177 178 179
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| entropyCache | boolean | 否 | 是否使用已缓存的UUID, 默认true。 |

**返回值:**
180

L
linhaoran 已提交
181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
| 类型 | 说明 |
| -------- | -------- |
| string | 表示此UUID的字符串。 |

**示例:**
  ```js
  let uuid = util.randomUUID(true);
  console.log("RFC 4122 Version 4 UUID:" + uuid);
  // 输出:
  // RFC 4122 Version 4 UUID:88368f2a-d5db-47d8-a05f-534fab0a0045
  ```

## util.randomBinaryUUID<sup>9+</sup>

randomBinaryUUID(entropyCache?: boolean): Uint8Array

使用加密安全随机数生成器生成随机的RFC 4122版本4的 UUID。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
202

L
linhaoran 已提交
203 204 205 206 207
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| entropyCache | boolean | 否 | 是否使用已缓存的UUID, 默认true。 |

**返回值:**
208

L
linhaoran 已提交
209 210 211 212 213 214 215
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 表示此UUID的Uint8Array值。 |

**示例:**
  ```js
  let uuid = util.randomBinaryUUID(true);
216
  console.log(JSON.stringify(uuid));
L
linhaoran 已提交
217 218 219 220 221 222 223 224 225 226 227 228 229
  // 输出:
  // 138,188,43,243,62,254,70,119,130,20,235,222,199,164,140,150
  ```

## util.parseUUID<sup>9+</sup>

parseUUID(uuid: string): Uint8Array

从字符串中解析UUID,如RFC 4122版本4中所述。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
230

L
linhaoran 已提交
231 232 233 234 235
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| uuid | string | 是 | UUID字符串。 |

**返回值:**
236

L
linhaoran 已提交
237 238 239 240 241 242 243
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回表示此UUID的Uint8Array,如果解析失败,则抛出SyntaxError。 |

**示例:**
  ```js
  let uuid = util.parseUUID("84bdf796-66cc-4655-9b89-d6218d100f9c");
244
  console.log(JSON.stringify(uuid));
L
linhaoran 已提交
245 246 247 248
  // 输出:
  // 132,189,247,150,102,204,70,85,155,137,214,33,141,16,15,156
  ```  

Z
zengyawen 已提交
249 250 251 252
## TextDecoder

### 属性

Z
zengyawen 已提交
253 254
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。

Z
zengyawen 已提交
255 256 257 258
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| encoding | string | 是 | 否 | 编码格式。<br/>-&nbsp;支持格式:utf-8、ibm866、iso-8859-2、iso-8859-3、iso-8859-4、iso-8859-5、iso-8859-6、iso-8859-7、iso-8859-8、iso-8859-8-i、iso-8859-10、iso-8859-13、iso-8859-14、iso-8859-15、koi8-r、koi8-u、macintosh、windows-874、windows-1250、windows-1251、windows-1252、windows-1253、windows-1254、windows-1255、windows-1256、windows-1257、windows-1258、x-mac-cyrilli、gbk、gb18030、big5、euc-jp、iso-2022-jp、shift_jis、euc-kr、utf-16be、utf-16le。 |
| fatal | boolean | 是 | 否 | 是否显示致命错误。 |
Z
zengyawen 已提交
259
| ignoreBOM | boolean | 是 | 否 | 是否忽略BOM(byte&nbsp;order&nbsp;marker)标记,默认值为false&nbsp;,表示解码结果包含BOM标记。 |
Z
zengyawen 已提交
260 261 262 263


### constructor

S
shikai-123 已提交
264
constructor(encoding?: string, options?: { fatal?: boolean; ignoreBOM?: boolean },)
Z
zengyawen 已提交
265 266 267

TextDecoder的构造函数。

Z
zengyawen 已提交
268 269 270
**系统能力:** SystemCapability.Utils.Lang

**参数:**
271

272 273 274 275
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| encoding | string | 否 | 编码格式。 |
| options | Object | 否 | 编码相关选项参数,存在两个属性fatal和ignoreBOM。 |
Z
zengyawen 已提交
276 277

  **表1** options
Z
zengyawen 已提交
278

279 280 281 282
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| fatal | boolean | 否 | 是否显示致命错误。 |
| ignoreBOM | boolean | 否 | 是否忽略BOM标记。 |
Z
zengyawen 已提交
283

Z
zengyawen 已提交
284
**示例:**
285
  ```js
286
  let textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});
Z
zengyawen 已提交
287 288 289 290 291
  ```


### decode

S
shikai-123 已提交
292
decode(input: Uint8Array, options?: { stream?: false }): string
Z
zengyawen 已提交
293 294 295

通过输入参数解码后输出对应文本。

Z
zengyawen 已提交
296 297 298
**系统能力:** SystemCapability.Utils.Lang

**参数:**
299

300 301
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
302
| input | Uint8Array | 是 | 符合格式需要解码的数组。 |
303
| options | Object | 否 | 解码相关选项参数。 |
Z
zengyawen 已提交
304

Z
zengyawen 已提交
305
  **表2** options
Z
zengyawen 已提交
306

307 308 309
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| stream | boolean | 否 | 在随后的decode()调用中是否跟随附加数据块。如果以块的形式处理数据,则设置为true;如果处理最后的数据块或数据未分块,则设置为false。默认为false。 |
Z
zengyawen 已提交
310

Z
zengyawen 已提交
311
**返回值:**
312

313 314 315
| 类型 | 说明 |
| -------- | -------- |
| string | 解码后的数据。 |
Z
zengyawen 已提交
316

Z
zengyawen 已提交
317
**示例:**
318
  ```js
319 320
  let textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});
  let result = new Uint8Array(6);
Z
zengyawen 已提交
321 322 323 324 325 326 327
  result[0] = 0xEF;
  result[1] = 0xBB;
  result[2] = 0xBF;
  result[3] = 0x61;
  result[4] = 0x62;
  result[5] = 0x63;
  console.log("input num:");
328
  let retStr = textDecoder.decode( result , {stream: false});
Z
zengyawen 已提交
329 330 331 332
  console.log("retStr = " + retStr);
  ```


333 334 335 336 337 338 339 340 341
### decodeWithStream<sup>9+</sup>

decodeWithStream(input: Uint8Array, options?: { stream?: boolean }): string

通过输入参数解码后输出对应文本。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
342

343 344 345 346 347 348 349 350 351 352 353 354
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| input | Uint8Array | 是 | 符合格式需要解码的数组。 |
| options | Object | 否 | 解码相关选项参数。 |

  **表2** options

| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| stream | boolean | 否 | 在随后的decodeWithStream()调用中是否跟随附加数据块。如果以块的形式处理数据,则设置为true;如果处理最后的数据块或数据未分块,则设置为false。默认为false。 |

**返回值:**
355

356 357 358 359 360 361
| 类型 | 说明 |
| -------- | -------- |
| string | 解码后的数据。 |

**示例:**
  ```js
362 363
  let textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});
  let result = new Uint8Array(6);
364 365 366 367 368 369 370
  result[0] = 0xEF;
  result[1] = 0xBB;
  result[2] = 0xBF;
  result[3] = 0x61;
  result[4] = 0x62;
  result[5] = 0x63;
  console.log("input num:");
371
  let retStr = textDecoder.decodeWithStream( result , {stream: false});
372 373 374 375
  console.log("retStr = " + retStr);
  ```


Z
zengyawen 已提交
376
## TextEncoder
Z
zengyawen 已提交
377

Z
zengyawen 已提交
378
### 属性
Z
zengyawen 已提交
379

Z
zengyawen 已提交
380 381
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。

Z
zengyawen 已提交
382 383 384
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| encoding | string | 是 | 否 | 编码格式,默认值是utf-8。 |
Z
zengyawen 已提交
385 386


Z
zengyawen 已提交
387 388 389 390 391 392
### constructor

constructor()

TextEncoder的构造函数。

Z
zengyawen 已提交
393 394 395
**系统能力:** SystemCapability.Utils.Lang

**示例:**
396
  ```js
397
  let textEncoder = new util.TextEncoder();
Z
zengyawen 已提交
398 399 400 401 402
  ```


### encode

X
xdmal 已提交
403
encode(input?: string): Uint8Array
Z
zengyawen 已提交
404 405 406

通过输入参数编码后输出对应文本。

Z
zengyawen 已提交
407 408 409
**系统能力:** SystemCapability.Utils.Lang

**参数:**
410

411 412 413
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| input | string | 是 | 需要编码的字符串。 |
Z
zengyawen 已提交
414

Z
zengyawen 已提交
415
**返回值:**
416

417 418 419
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回编码后的文本。 |
Z
zengyawen 已提交
420

Z
zengyawen 已提交
421
**示例:**
422
  ```js
423 424 425
  let textEncoder = new util.TextEncoder();
  let buffer = new ArrayBuffer(20);
  let result = new Uint8Array(buffer);
Z
zengyawen 已提交
426 427
  result = textEncoder.encode("\uD800¥¥");
  ```
Z
zengyawen 已提交
428 429


Z
zengyawen 已提交
430 431
### encodeInto

X
xdmal 已提交
432
encodeInto(input: string, dest: Uint8Array, ): { read: number; written: number }
Z
zengyawen 已提交
433 434

放置生成的UTF-8编码文本。
Z
zengyawen 已提交
435

Z
zengyawen 已提交
436 437 438
**系统能力:** SystemCapability.Utils.Lang

**参数:**
439

440 441 442 443
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| input | string | 是 | 需要编码的字符串。 |
| dest | Uint8Array | 是 | Uint8Array对象实例,用于将生成的UTF-8编码文本放入其中。 |
Z
zengyawen 已提交
444

Z
zengyawen 已提交
445
**返回值:**
446

447 448 449
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回编码后的文本。 |
Z
zengyawen 已提交
450

Z
zengyawen 已提交
451
**示例:**
452
  ```js
453 454 455 456
  let that = new util.TextEncoder()
  let buffer = new ArrayBuffer(4)
  let dest = new Uint8Array(buffer)
  let result = new Object()
S
shikai-123 已提交
457
  result = that.encodeInto('abcd', dest)
Z
zengyawen 已提交
458
  ```
Z
zengyawen 已提交
459 460 461 462 463 464

## RationalNumber<sup>8+</sup>


### constructor<sup>8+</sup>

X
xdmal 已提交
465
constructor(numerator: number,denominator: number)
Z
zengyawen 已提交
466 467 468

RationalNumber的构造函数。

Z
zengyawen 已提交
469 470 471
**系统能力:** SystemCapability.Utils.Lang

**参数:**
472

473 474 475 476
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| numerator | number | 是 | 分子,整数类型。 |
| denominator | number | 是 | 分母,整数类型。 |
Z
zengyawen 已提交
477

Z
zengyawen 已提交
478
**示例:**
479
  ```js
480
  let rationalNumber = new util.RationalNumber(1,2);
Z
zengyawen 已提交
481 482 483 484 485
  ```


### createRationalFromString<sup>8+</sup>

X
xdmal 已提交
486
static createRationalFromString​(rationalString: string): RationalNumber​
Z
zengyawen 已提交
487 488 489

基于给定的字符串创建一个RationalNumber对象。

Z
zengyawen 已提交
490 491 492
**系统能力:** SystemCapability.Utils.Lang

**参数:**
493

494 495 496
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| rationalString | string | 是 | 字符串格式。 |
Z
zengyawen 已提交
497

Z
zengyawen 已提交
498
**返回值:**
499

500 501 502
| 类型 | 说明 |
| -------- | -------- |
| object | 返回有理数类的对象。 |
Z
zengyawen 已提交
503

Z
zengyawen 已提交
504
**示例:**
505
  ```js
506 507
  let rationalNumber = new util.RationalNumber(1,2);
  let rational = util.RationalNumber.createRationalFromString("3/4");
Z
zengyawen 已提交
508 509 510 511 512
  ```


### compareTo<sup>8+</sup>

X
xdmal 已提交
513
compareTo​(another: RationalNumber): number​
Z
zengyawen 已提交
514 515 516

将当前的RationalNumber对象与给定的对象进行比较。

Z
zengyawen 已提交
517 518 519
**系统能力:** SystemCapability.Utils.Lang

**参数:**
520

521 522 523
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| another | RationalNumber | 是 | 其他的有理数对象。 |
Z
zengyawen 已提交
524

Z
zengyawen 已提交
525
**返回值:**
526

527 528 529
| 类型 | 说明 |
| -------- | -------- |
| number | 如果两个对象相等,则返回0;如果给定对象小于当前对象,则返回1;如果给定对象大于当前对象,则返回-1。 |
Z
zengyawen 已提交
530

Z
zengyawen 已提交
531
**示例:**
532
  ```js
533 534 535
  let rationalNumber = new util.RationalNumber(1,2);
  let rational = util.RationalNumber.createRationalFromString("3/4");
  let result = rationalNumber.compareTo(rational);
Z
zengyawen 已提交
536 537 538 539 540
  ```


### valueOf<sup>8+</sup>

X
xdmal 已提交
541
valueOf(): number
Z
zengyawen 已提交
542 543 544

以整数形式或者浮点数的形式获取当前RationalNumber对象的值。

Z
zengyawen 已提交
545 546 547
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
548

549 550 551
| 类型 | 说明 |
| -------- | -------- |
| number | 返回整数或者浮点数的值。 |
Z
zengyawen 已提交
552

Z
zengyawen 已提交
553
**示例:**
554
  ```js
555 556
  let rationalNumber = new util.RationalNumber(1,2);
  let result = rationalNumber.valueOf();
Z
zengyawen 已提交
557 558 559 560 561
  ```


### equals<sup>8+</sup>

X
xdmal 已提交
562
equals​(obj: Object): boolean
Z
zengyawen 已提交
563 564 565

将当前的RationalNumber对象与给定的对象进行比较是否相等。

Z
zengyawen 已提交
566 567 568
**系统能力:** SystemCapability.Utils.Lang

**参数:**
569

570 571 572
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| object | Object | 是 | 其他类型对象。 |
Z
zengyawen 已提交
573

Z
zengyawen 已提交
574
**返回值:**
575

576 577 578
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果给定对象与当前对象相同,则返回true;否则返回false。 |
Z
zengyawen 已提交
579

Z
zengyawen 已提交
580
**示例:**
581
  ```js
582 583 584
  let rationalNumber = new util.RationalNumber(1,2);
  let rational = util.RationalNumber.createRationalFromString("3/4");
  let result = rationalNumber.equals(rational);
Z
zengyawen 已提交
585 586 587 588 589
  ```


### getCommonDivisor<sup>8+</sup>

X
xdmal 已提交
590
static getCommonDivisor​(number1: number,number2: number): number
Z
zengyawen 已提交
591 592 593

获取两个指定整数的最大公约数。

Z
zengyawen 已提交
594 595 596
**系统能力:** SystemCapability.Utils.Lang

**参数:**
597

598 599 600 601
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| number1 | number | 是 | 整数类型。 |
| number2 | number | 是 | 整数类型。 |
Z
zengyawen 已提交
602

Z
zengyawen 已提交
603
**返回值:**
604

605 606 607
| 类型 | 说明 |
| -------- | -------- |
| number | 返回两个给定数字的最大公约数。 |
Z
zengyawen 已提交
608

Z
zengyawen 已提交
609
**示例:**
610
  ```js
611 612
  let rationalNumber = new util.RationalNumber(1,2);
  let result = util.RationalNumber.getCommonDivisor(4,6);
Z
zengyawen 已提交
613 614 615 616 617
  ```


### getNumerator<sup>8+</sup>

X
xdmal 已提交
618
getNumerator​(): number
Z
zengyawen 已提交
619 620 621

获取当前RationalNumber对象的分子。

Z
zengyawen 已提交
622 623 624 625
**系统能力:** SystemCapability.Utils.Lang

**返回值:**

626 627 628
| 类型 | 说明 |
| -------- | -------- |
| number | 返回RationalNumber对象的分子的值。 |
Z
zengyawen 已提交
629

Z
zengyawen 已提交
630
**示例:**
631
  ```js
632 633
  let rationalNumber = new util.RationalNumber(1,2);
  let result = rationalNumber.getNumerator();
Z
zengyawen 已提交
634 635 636 637 638
  ```


### getDenominator<sup>8+</sup>

X
xdmal 已提交
639
getDenominator​(): number
Z
zengyawen 已提交
640 641 642

获取当前RationalNumber对象的分母。

Z
zengyawen 已提交
643 644 645
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
646

647 648 649
| 类型 | 说明 |
| -------- | -------- |
| number | 返回RationalNumber对象的分母的值。 |
Z
zengyawen 已提交
650

Z
zengyawen 已提交
651
**示例:**
652
  ```js
653 654
  let rationalNumber = new util.RationalNumber(1,2);
  let result = rationalNumber.getDenominator();
Z
zengyawen 已提交
655 656 657 658 659 660 661 662 663
  ```


### isZero<sup>8+</sup>

isZero​():boolean

检查当前RationalNumber对象是否为0。

Z
zengyawen 已提交
664 665 666
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
667

668 669 670
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果当前对象表示的值为0,则返回true;否则返回false。 |
Z
zengyawen 已提交
671

Z
zengyawen 已提交
672
**示例:**
673
  ```js
674 675
  let rationalNumber = new util.RationalNumber(1,2);
  let result = rationalNumber.isZero();
Z
zengyawen 已提交
676 677 678 679 680
  ```


### isNaN<sup>8+</sup>

X
xdmal 已提交
681
isNaN​(): boolean
Z
zengyawen 已提交
682 683 684

检查当前RationalNumber对象是否表示非数字(NaN)值。

Z
zengyawen 已提交
685 686 687
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
688

689 690 691
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果分母和分子都为0,则返回true;否则返回false。 |
Z
zengyawen 已提交
692

Z
zengyawen 已提交
693
**示例:**
694
  ```js
695 696
  let rationalNumber = new util.RationalNumber(1,2);
  let result = rationalNumber.isNaN();
Z
zengyawen 已提交
697 698 699 700 701 702 703 704 705
  ```


### isFinite<sup>8+</sup>

isFinite​():boolean

检查当前RationalNumber对象是否表示一个有限值。

Z
zengyawen 已提交
706 707 708
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
709

710 711 712
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果分母不为0,则返回true;否则返回false。 |
Z
zengyawen 已提交
713

Z
zengyawen 已提交
714
**示例:**
715
  ```js
716 717
  let rationalNumber = new util.RationalNumber(1,2);
  let result = rationalNumber.isFinite();
Z
zengyawen 已提交
718 719 720 721 722
  ```


### toString<sup>8+</sup>

X
xdmal 已提交
723
toString​(): string
Z
zengyawen 已提交
724 725 726

获取当前RationalNumber对象的字符串表示形式。

Z
zengyawen 已提交
727 728 729
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
730

731 732 733
| 类型 | 说明 |
| -------- | -------- |
| string | 返回Numerator/Denominator格式的字符串,例如3/5,如果当前对象的分子和分母都为0,则返回NaN。 |
Z
zengyawen 已提交
734

Z
zengyawen 已提交
735
**示例:**
736
  ```js
737 738
  let rationalNumber = new util.RationalNumber(1,2);
  let result = rationalNumber.toString();
Z
zengyawen 已提交
739 740 741 742 743 744
  ```

## LruBuffer<sup>8+</sup>

### 属性

Z
zengyawen 已提交
745 746
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。

Z
zengyawen 已提交
747 748 749 750
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | 当前缓冲区中值的总数。 |

Z
zengyawen 已提交
751
**示例:**
752
  ```js
753
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
754 755
  pro.put(2,10);
  pro.put(1,8);
756
  let result = pro.length;
Z
zengyawen 已提交
757 758 759 760 761
  ```


### constructor<sup>8+</sup>

X
xdmal 已提交
762
constructor(capacity?: number)
Z
zengyawen 已提交
763 764 765

默认构造函数用于创建一个新的LruBuffer实例,默认容量为64。

Z
zengyawen 已提交
766 767 768
**系统能力:** SystemCapability.Utils.Lang

**参数:**
769

770 771 772
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| capacity | number | 否 | 指示要为缓冲区自定义的容量。 |
Z
zengyawen 已提交
773

Z
zengyawen 已提交
774
**示例:**
775
  ```js
776
  let lrubuffer= new util.LruBuffer();
Z
zengyawen 已提交
777 778 779 780 781
  ```


### updateCapacity<sup>8+</sup>

X
xdmal 已提交
782
updateCapacity(newCapacity: number): void
Z
zengyawen 已提交
783 784 785

将缓冲区容量更新为指定容量,如果newCapacity小于或等于0,则抛出异常。

Z
zengyawen 已提交
786 787 788
**系统能力:** SystemCapability.Utils.Lang

**参数:**
789

790 791 792
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| newCapacity | number | 是 | 指示要为缓冲区自定义的容量。 |
Z
zengyawen 已提交
793

Z
zengyawen 已提交
794
**示例:**
795
  ```js
796 797
  let pro = new util.LruBuffer();
  let result = pro.updateCapacity(100);
Z
zengyawen 已提交
798 799 800 801 802
  ```


### toString<sup>8+</sup>

X
xdmal 已提交
803
toString(): string
Z
zengyawen 已提交
804 805 806

返回对象的字符串表示形式。

Z
zengyawen 已提交
807 808 809
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
810

811 812 813
| 类型 | 说明 |
| -------- | -------- |
| string | 返回对象的字符串表示形式。 |
Z
zengyawen 已提交
814

Z
zengyawen 已提交
815
**示例:**
816
  ```js
817
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
818 819 820
  pro.put(2,10);
  pro.get(2);
  pro.remove(20);
821
  let result = pro.toString();
Z
zengyawen 已提交
822 823 824 825 826
  ```


### getCapacity<sup>8+</sup>

X
xdmal 已提交
827
getCapacity(): number
Z
zengyawen 已提交
828 829 830

获取当前缓冲区的容量。

Z
zengyawen 已提交
831 832 833
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
834

835 836 837
| 类型 | 说明 |
| -------- | -------- |
| number | 返回当前缓冲区的容量。 |
Z
zengyawen 已提交
838

Z
zengyawen 已提交
839
**示例:**
840
  ```js
841 842
  let pro = new util.LruBuffer();
  let result = pro.getCapacity();
Z
zengyawen 已提交
843 844 845 846 847
  ```


### clear<sup>8+</sup>

X
xdmal 已提交
848
clear(): void
Z
zengyawen 已提交
849 850 851

从当前缓冲区清除键值对。后续会调用afterRemoval()方法执行后续操作。

Z
zengyawen 已提交
852 853 854
**系统能力:** SystemCapability.Utils.Lang

**示例:**
855
  ```js
856
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
857
  pro.put(2,10);
858
  let result = pro.length;
Z
zengyawen 已提交
859 860 861 862 863 864
  pro.clear();
  ```


### getCreateCount<sup>8+</sup>

X
xdmal 已提交
865
getCreateCount(): number
Z
zengyawen 已提交
866 867 868

获取createDefault()返回值的次数。

Z
zengyawen 已提交
869 870 871
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
872

873 874 875
| 类型 | 说明 |
| -------- | -------- |
| number | 返回createDefault()返回值的次数。 |
Z
zengyawen 已提交
876

Z
zengyawen 已提交
877
**示例:**
878
  ```js
879
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
880
  pro.put(1,8);
881
  let result = pro.getCreateCount();
Z
zengyawen 已提交
882 883 884 885 886
  ```


### getMissCount<sup>8+</sup>

X
xdmal 已提交
887
getMissCount(): number
Z
zengyawen 已提交
888 889 890

获取查询值不匹配的次数。

Z
zengyawen 已提交
891 892 893
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
894

895 896 897
| 类型 | 说明 |
| -------- | -------- |
| number | 返回查询值不匹配的次数。 |
Z
zengyawen 已提交
898

Z
zengyawen 已提交
899
**示例:**
900
  ```js
901
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
902
  pro.put(2,10);
Z
zengyawen 已提交
903
  pro.get(2);
904
  let result = pro.getMissCount();
Z
zengyawen 已提交
905 906 907 908 909
  ```


### getRemovalCount<sup>8+</sup>

X
xdmal 已提交
910
getRemovalCount(): number
Z
zengyawen 已提交
911 912 913

获取从缓冲区中逐出值的次数。

Z
zengyawen 已提交
914 915 916
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
917

918 919 920
| 类型 | 说明 |
| -------- | -------- |
| number | 返回从缓冲区中驱逐的次数。 |
Z
zengyawen 已提交
921

Z
zengyawen 已提交
922
**示例:**
923
  ```js
924
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
925 926 927
  pro.put(2,10);
  pro.updateCapacity(2);
  pro.put(50,22);
928
  let result = pro.getRemovalCount();
Z
zengyawen 已提交
929 930 931 932 933
  ```


### getMatchCount<sup>8+</sup>

X
xdmal 已提交
934
getMatchCount(): number
Z
zengyawen 已提交
935 936 937

获取查询值匹配成功的次数。

Z
zengyawen 已提交
938 939 940
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
941

942 943 944
| 类型 | 说明 |
| -------- | -------- |
| number | 返回查询值匹配成功的次数。 |
Z
zengyawen 已提交
945

Z
zengyawen 已提交
946
**示例:**
947
  ```js
948
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
949 950
  pro.put(2,10);
  pro.get(2);
951
  let result = pro.getMatchCount();
Z
zengyawen 已提交
952 953 954 955 956
  ```


### getPutCount<sup>8+</sup>

X
xdmal 已提交
957
getPutCount(): number
Z
zengyawen 已提交
958 959 960

获取将值添加到缓冲区的次数。

Z
zengyawen 已提交
961 962 963
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
964

965 966 967
| 类型 | 说明 |
| -------- | -------- |
| number | 返回将值添加到缓冲区的次数。 |
Z
zengyawen 已提交
968

Z
zengyawen 已提交
969
**示例:**
970
  ```js
971
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
972
  pro.put(2,10);
973
  let result = pro.getPutCount();
Z
zengyawen 已提交
974 975 976 977 978
  ```


### isEmpty<sup>8+</sup>

X
xdmal 已提交
979
isEmpty(): boolean
Z
zengyawen 已提交
980 981 982

检查当前缓冲区是否为空。

Z
zengyawen 已提交
983 984 985
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
986

987 988 989
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果当前缓冲区不包含任何值,则返回true。 |
Z
zengyawen 已提交
990

Z
zengyawen 已提交
991
**示例:**
992
  ```js
993
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
994
  pro.put(2,10);
995
  let result = pro.isEmpty();
Z
zengyawen 已提交
996 997 998 999 1000
  ```


### get<sup>8+</sup>

X
xdmal 已提交
1001
get(key: K): V | undefined
Z
zengyawen 已提交
1002 1003 1004

表示要查询的键。

Z
zengyawen 已提交
1005 1006 1007
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1008

1009 1010 1011
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 要查询的键。 |
Z
zengyawen 已提交
1012

Z
zengyawen 已提交
1013
**返回值:**
1014

1015 1016 1017
| 类型 | 说明 |
| -------- | -------- |
| V&nbsp;\|&nbsp;undefind | 如果指定的键存在于缓冲区中,则返回与键关联的值;否则返回undefined。 |
Z
zengyawen 已提交
1018

Z
zengyawen 已提交
1019
**示例:**
1020
  ```js
1021
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
1022
  pro.put(2,10);
1023
  let result  = pro.get(2);
Z
zengyawen 已提交
1024 1025 1026 1027 1028
  ```


### put<sup>8+</sup>

X
xdmal 已提交
1029
put(key: K,value: V): V
Z
zengyawen 已提交
1030 1031 1032

将键值对添加到缓冲区。

Z
zengyawen 已提交
1033 1034 1035
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1036

1037 1038 1039 1040
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 要添加的密钥。 |
| value | V | 是 | 指示与要添加的键关联的值。 |
Z
zengyawen 已提交
1041

Z
zengyawen 已提交
1042
**返回值:**
1043

1044 1045 1046
| 类型 | 说明 |
| -------- | -------- |
| V | 返回与添加的键关联的值;如果要添加的键已经存在,则返回原始值,如果键或值为空,则抛出此异常。 |
Z
zengyawen 已提交
1047

Z
zengyawen 已提交
1048
**示例:**
1049
  ```js
1050 1051
  let pro = new util.LruBuffer();
  let result = pro.put(2,10);
Z
zengyawen 已提交
1052 1053 1054 1055
  ```

### values<sup>8+</sup>

X
xdmal 已提交
1056
values(): V[]
Z
zengyawen 已提交
1057 1058 1059

获取当前缓冲区中所有值从最近访问到最近最少访问的顺序列表 。

Z
zengyawen 已提交
1060 1061 1062
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1063

1064 1065 1066
| 类型 | 说明 |
| -------- | -------- |
| V&nbsp;[] | 按从最近访问到最近最少访问的顺序返回当前缓冲区中所有值的列表。 |
Z
zengyawen 已提交
1067

Z
zengyawen 已提交
1068
**示例:**
1069
  ```js
1070
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
1071 1072 1073
  pro.put(2,10);
  pro.put(2,"anhu");
  pro.put("afaf","grfb");
1074
  let result = pro.values();
Z
zengyawen 已提交
1075 1076 1077 1078 1079
  ```


### keys<sup>8+</sup>

X
xdmal 已提交
1080
keys(): K[]
Z
zengyawen 已提交
1081 1082 1083

获取当前缓冲区中所有键从最近访问到最近最少访问的升序列表。

Z
zengyawen 已提交
1084 1085 1086
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1087

1088 1089 1090
| 类型 | 说明 |
| -------- | -------- |
| K&nbsp;[] | 按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。 |
Z
zengyawen 已提交
1091

Z
zengyawen 已提交
1092
**示例:**
1093
  ```js
1094
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
1095
  pro.put(2,10);
1096
  let result = pro.keys();
Z
zengyawen 已提交
1097 1098 1099 1100 1101
  ```


### remove<sup>8+</sup>

X
xdmal 已提交
1102
remove(key: K): V | undefined
Z
zengyawen 已提交
1103 1104 1105

从当前缓冲区中删除指定的键及其关联的值。

Z
zengyawen 已提交
1106 1107 1108
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1109

1110 1111 1112
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 要删除的密钥。 |
Z
zengyawen 已提交
1113

Z
zengyawen 已提交
1114
**返回值:**
1115

1116 1117 1118
| 类型 | 说明 |
| -------- | -------- |
| V&nbsp;\|&nbsp;undefind | 返回一个包含已删除键值对的Optional对象;如果key不存在,则返回一个空的Optional对象,如果key为null,则抛出异常。 |
Z
zengyawen 已提交
1119

Z
zengyawen 已提交
1120
**示例:**
1121
  ```js
1122
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
1123
  pro.put(2,10);
1124
  let result = pro.remove(20);
Z
zengyawen 已提交
1125 1126 1127 1128 1129
  ```


### afterRemoval<sup>8+</sup>

X
xdmal 已提交
1130
afterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void
Z
zengyawen 已提交
1131 1132 1133

删除值后执行后续操作。

Z
zengyawen 已提交
1134 1135 1136
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1137

1138 1139 1140 1141 1142 1143
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| isEvict | boolean | 否 | 因容量不足而调用该方法时,参数值为true,其他情况为false。 |
| key | K | 是 | 表示删除的键。 |
| value | V | 是 | 表示删除的值。 |
| newValue | V | 否 | 如果已调用put方法并且要添加的键已经存在,则参数值是关联的新值。其他情况下参数值为空。 |
Z
zengyawen 已提交
1144

Z
zengyawen 已提交
1145
**示例:**
1146
  ```js
1147
  let arr = [];
1148
  class ChildLruBuffer<K, V> extends util.LruBuffer<K, V>
Z
zengyawen 已提交
1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161
  {
  	constructor()
  	{
  		super();
  	}
  	afterRemoval(isEvict, key, value, newValue)
  	{
  		if (isEvict === false)
  		{
  			arr = [key, value, newValue];
  		}
  	}
  }
1162
  let lru = new ChildLruBuffer();
S
shikai-123 已提交
1163
  lru.afterRemoval(false,10,30,null);
Z
zengyawen 已提交
1164 1165 1166 1167 1168
  ```


### contains<sup>8+</sup>

X
xdmal 已提交
1169
contains(key: K): boolean
Z
zengyawen 已提交
1170 1171 1172

检查当前缓冲区是否包含指定的键。

Z
zengyawen 已提交
1173 1174 1175
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1176

1177 1178 1179
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 表示要检查的键。 |
Z
zengyawen 已提交
1180

Z
zengyawen 已提交
1181
**返回值:**
1182

1183 1184 1185
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果缓冲区包含指定的键,则返回&nbsp;true。 |
Z
zengyawen 已提交
1186

Z
zengyawen 已提交
1187
**示例:**
1188
  ```js
1189
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
1190
  pro.put(2,10);
1191
  let result = pro.contains(20);
Z
zengyawen 已提交
1192 1193 1194 1195 1196
  ```


### createDefault<sup>8+</sup>

X
xdmal 已提交
1197
createDefault(key: K): V
Z
zengyawen 已提交
1198 1199 1200

如果未计算特定键的值,则执行后续操作,参数表示丢失的键,返回与键关联的值。

Z
zengyawen 已提交
1201 1202 1203
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1204

1205 1206 1207
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 表示丢失的键。 |
Z
zengyawen 已提交
1208

Z
zengyawen 已提交
1209
**返回值:**
1210

1211 1212 1213
| 类型 | 说明 |
| -------- | -------- |
| V | 返回与键关联的值。 |
Z
zengyawen 已提交
1214

Z
zengyawen 已提交
1215
**示例:**
1216
  ```js
1217 1218
  let pro = new util.LruBuffer();
  let result = pro.createDefault(50);
Z
zengyawen 已提交
1219 1220 1221 1222 1223
  ```


### entries<sup>8+</sup>

X
xdmal 已提交
1224
entries(): IterableIterator&lt;[K,V]&gt;
Z
zengyawen 已提交
1225 1226 1227

允许迭代包含在这个对象中的所有键值对。

Z
zengyawen 已提交
1228 1229 1230
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1231

1232 1233 1234
| 类型 | 说明 |
| -------- | -------- |
| [K,&nbsp;V] | 返回一个可迭代数组。 |
Z
zengyawen 已提交
1235

Z
zengyawen 已提交
1236
**示例:**
1237
  ```js
1238
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
1239
  pro.put(2,10);
1240
  let result = pro.entries();
Z
zengyawen 已提交
1241 1242 1243 1244 1245 1246 1247 1248 1249
  ```


### [Symbol.iterator]<sup>8+</sup>

[Symbol.iterator]\(): IterableIterator&lt;[K, V]&gt;

返回一个键值对形式的二维数组。

Z
zengyawen 已提交
1250 1251 1252
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1253

1254 1255 1256
| 类型 | 说明 |
| -------- | -------- |
| [K,&nbsp;V] | 返回一个键值对形式的二维数组。 |
Z
zengyawen 已提交
1257

Z
zengyawen 已提交
1258
**示例:**
1259
  ```js
1260
  let pro = new util.LruBuffer();
Z
zengyawen 已提交
1261
  pro.put(2,10);
1262
  let result = pro[Symbol.iterator]();
Z
zengyawen 已提交
1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273
  ```


## Scope<sup>8+</sup>


### ScopeType<sup>8+</sup>

用于表示范围中的值的类型。该类型的值,类型可以为ScopeComparable或number。

ScopeComparable类型的值需要实现compareTo方法,确保传入的数据具有可比性。
1274
```js
Z
zengyawen 已提交
1275
interface ScopeComparable{
X
xdmal 已提交
1276
    compareTo(other: ScopeComparable): boolean;
Z
zengyawen 已提交
1277 1278 1279 1280 1281 1282 1283 1284 1285
}
type ScopeType = ScopeComparable | number;
```


构造新类,实现compareTo方法。后续示例代码中,均通过Temperature,获取[ScopeType](#scopetype8)的实例化对象。


示例:
1286
```js
Z
zengyawen 已提交
1287 1288
class Temperature{
    constructor(value){
Z
zengyawen 已提交
1289 1290
       // 当使用ts语言开发时,需要补充以下代码:
       // private readonly _temp: Temperature;
Z
zengyawen 已提交
1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307
       this._temp = value;
    }
    comapreTo(value){
       return this._temp >= value.getTemp();
    }
    getTemp(){
       return this._temp;
    }
    toString(){
       return this._temp.toString();
    }
}
```


### constructor<sup>8+</sup>

X
xdmal 已提交
1308
constructor(lowerObj: ScopeType, upperObj: ScopeType)
Z
zengyawen 已提交
1309 1310 1311

用于创建指定下限和上限的作用域实例的构造函数,返回一个Scope对象。

Z
zengyawen 已提交
1312 1313 1314
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1315

1316 1317 1318 1319
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| lowerObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的上限。 |
Z
zengyawen 已提交
1320

Z
zengyawen 已提交
1321
**示例:**
1322
  ```js
1323 1324 1325
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1326 1327 1328 1329 1330
  ```


### toString<sup>8+</sup>

X
xdmal 已提交
1331
toString(): string
Z
zengyawen 已提交
1332 1333 1334

该字符串化方法返回一个包含当前范围的字符串表示形式。

Z
zengyawen 已提交
1335 1336 1337
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1338

1339 1340 1341
| 类型 | 说明 |
| -------- | -------- |
| string | 返回包含当前范围对象的字符串表示形式。 |
Z
zengyawen 已提交
1342

Z
zengyawen 已提交
1343
**示例:**
1344
  ```js
1345 1346 1347 1348
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.toString();
Z
zengyawen 已提交
1349 1350 1351 1352 1353
  ```


### intersect<sup>8+</sup>

X
xdmal 已提交
1354
intersect(range: Scope): Scope
Z
zengyawen 已提交
1355 1356 1357

获取给定范围和当前范围的交集。

Z
zengyawen 已提交
1358 1359 1360
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1361

1362 1363 1364
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| range | [Scope](#scope8) | 是 | 传入一个给定范围。 |
Z
zengyawen 已提交
1365

Z
zengyawen 已提交
1366
**返回值:**
1367

1368 1369 1370
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回给定范围和当前范围的交集。 |
Z
zengyawen 已提交
1371

Z
zengyawen 已提交
1372
**示例:**
1373
  ```js
1374 1375 1376 1377 1378 1379
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let range = new util.Scope(tempLower, tempUpper);
  let tempMiDF = new Temperature(35);
  let tempMidS = new Temperature(39);
  let rangeFir = new util.Scope(tempMiDF, tempMidS);
Z
zengyawen 已提交
1380 1381 1382 1383 1384 1385 1386 1387 1388 1389
  range.intersect(rangeFir );
  ```


### intersect<sup>8+</sup>

intersect(lowerObj:ScopeType,upperObj:ScopeType):Scope

获取当前范围与给定下限和上限范围的交集。

Z
zengyawen 已提交
1390 1391 1392
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1393

1394 1395 1396 1397
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 |
Z
zengyawen 已提交
1398

Z
zengyawen 已提交
1399
**返回值:**
1400

1401 1402 1403
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回当前范围与给定下限和上限范围的交集。 |
Z
zengyawen 已提交
1404

Z
zengyawen 已提交
1405
**示例:**
1406
  ```js
1407 1408 1409 1410 1411 1412
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let tempMiDF = new Temperature(35);
  let tempMidS = new Temperature(39);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.intersect(tempMiDF, tempMidS);
Z
zengyawen 已提交
1413 1414 1415 1416 1417
  ```


### getUpper<sup>8+</sup>

X
xdmal 已提交
1418
getUpper(): ScopeType
Z
zengyawen 已提交
1419 1420 1421

获取当前范围的上限。

Z
zengyawen 已提交
1422 1423 1424 1425
**系统能力:** SystemCapability.Utils.Lang

**返回值:**

1426 1427 1428
| 类型 | 说明 |
| -------- | -------- |
| [ScopeType](#scopetype8) | 返回当前范围的上限值。 |
Z
zengyawen 已提交
1429

Z
zengyawen 已提交
1430
**示例:**
1431
  ```js
1432 1433 1434 1435
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.getUpper();
Z
zengyawen 已提交
1436 1437 1438 1439 1440
  ```


### getLower<sup>8+</sup>

X
xdmal 已提交
1441
getLower(): ScopeType
Z
zengyawen 已提交
1442 1443 1444

获取当前范围的下限。

Z
zengyawen 已提交
1445 1446 1447
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1448

1449 1450 1451
| 类型 | 说明 |
| -------- | -------- |
| [ScopeType](#scopetype8) | 返回当前范围的下限值。 |
Z
zengyawen 已提交
1452

Z
zengyawen 已提交
1453
**示例:**
1454
  ```js
1455 1456 1457 1458
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.getLower();
Z
zengyawen 已提交
1459 1460 1461 1462 1463
  ```


### expand<sup>8+</sup>

X
xdmal 已提交
1464
expand(lowerObj: ScopeType,upperObj: ScopeType): Scope
Z
zengyawen 已提交
1465 1466 1467

创建并返回包括当前范围和给定下限和上限的并集。

Z
zengyawen 已提交
1468 1469 1470
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1471

1472 1473 1474 1475
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 |
Z
zengyawen 已提交
1476

Z
zengyawen 已提交
1477
**返回值:**
1478

1479 1480 1481
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回当前范围和给定下限和上限的并集。 |
Z
zengyawen 已提交
1482

Z
zengyawen 已提交
1483
**示例:**
1484 1485

  ```js
1486 1487 1488 1489 1490 1491
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let tempMiDF = new Temperature(35);
  let tempMidS = new Temperature(39);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.expand(tempMiDF, tempMidS);
Z
zengyawen 已提交
1492 1493 1494 1495 1496
  ```


### expand<sup>8+</sup>

X
xdmal 已提交
1497
expand(range: Scope): Scope
Z
zengyawen 已提交
1498 1499 1500

创建并返回包括当前范围和给定范围的并集。

Z
zengyawen 已提交
1501 1502 1503
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1504

1505 1506 1507
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| range | [Scope](#scope8) | 是 | 传入一个给定范围。 |
Z
zengyawen 已提交
1508

Z
zengyawen 已提交
1509
**返回值:**
1510

1511 1512 1513
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回包括当前范围和给定范围的并集。 |
Z
zengyawen 已提交
1514

Z
zengyawen 已提交
1515
**示例:**
1516
  ```js
1517 1518 1519 1520 1521 1522 1523
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let tempMiDF = new Temperature(35);
  let tempMidS = new Temperature(39);
  let range = new util.Scope(tempLower, tempUpper);
  let rangeFir = new util.Scope(tempMiDF, tempMidS);
  let result = range.expand(rangeFir);
Z
zengyawen 已提交
1524 1525 1526 1527 1528
  ```


### expand<sup>8+</sup>

X
xdmal 已提交
1529
expand(value: ScopeType): Scope
Z
zengyawen 已提交
1530 1531 1532

创建并返回包括当前范围和给定值的并集。

Z
zengyawen 已提交
1533 1534 1535
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1536

1537 1538 1539
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 |
Z
zengyawen 已提交
1540

Z
zengyawen 已提交
1541
**返回值:**
1542

1543 1544 1545
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回包括当前范围和给定值的并集。 |
Z
zengyawen 已提交
1546

Z
zengyawen 已提交
1547
**示例:**
1548
  ```js
1549 1550 1551 1552 1553
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let tempMiDF = new Temperature(35);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.expand(tempMiDF);
Z
zengyawen 已提交
1554 1555 1556 1557 1558
  ```


### contains<sup>8+</sup>

X
xdmal 已提交
1559
contains(value: ScopeType): boolean
Z
zengyawen 已提交
1560 1561 1562

检查给定value是否包含在当前范围内。

Z
zengyawen 已提交
1563 1564 1565
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1566

1567 1568 1569
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 |
Z
zengyawen 已提交
1570

Z
zengyawen 已提交
1571
**返回值:**
1572

1573 1574 1575
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果给定值包含在当前范围内返回true,否则返回false。 |
Z
zengyawen 已提交
1576

Z
zengyawen 已提交
1577
**示例:**
1578
  ```js
1579 1580 1581 1582
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let tempMiDF = new Temperature(35);
  let range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1583
  range.contains(tempMiDF);
Z
zengyawen 已提交
1584 1585 1586 1587 1588
  ```


### contains<sup>8+</sup>

X
xdmal 已提交
1589
contains(range: Scope): boolean
Z
zengyawen 已提交
1590 1591 1592

检查给定range是否在当前范围内。

Z
zengyawen 已提交
1593 1594 1595
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1596

1597 1598 1599
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| range | [Scope](#scope8) | 是 | 传入一个给定范围。 |
Z
zengyawen 已提交
1600

Z
zengyawen 已提交
1601
**返回值:**
1602

1603 1604 1605
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果给定范围包含在当前范围内返回true,否则返回false。 |
Z
zengyawen 已提交
1606

Z
zengyawen 已提交
1607
**示例:**
1608
  ```js
1609 1610 1611 1612 1613 1614 1615
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let range = new util.Scope(tempLower, tempUpper);
  let tempLess = new Temperature(20);
  let tempMore = new Temperature(45);
  let rangeSec = new util.Scope(tempLess, tempMore);
  let result = range.contains(rangeSec);
Z
zengyawen 已提交
1616 1617 1618 1619 1620
  ```


### clamp<sup>8+</sup>

X
xdmal 已提交
1621
clamp(value: ScopeType): ScopeType
Z
zengyawen 已提交
1622 1623 1624

将给定值限定到当前范围内。

Z
zengyawen 已提交
1625 1626 1627
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1628

1629 1630 1631
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | [ScopeType](#scopetype8) | 是 | 传入的给定值。 |
Z
zengyawen 已提交
1632

Z
zengyawen 已提交
1633
**返回值:**
1634

1635 1636 1637
| 类型 | 说明 |
| -------- | -------- |
| [ScopeType](#scopetype8) | 如果传入的value小于下限,则返回lowerObj;如果大于上限值则返回upperObj;如果在当前范围内,则返回value。 |
Z
zengyawen 已提交
1638

Z
zengyawen 已提交
1639
**示例:**
1640
  ```js
1641 1642 1643 1644 1645
  let tempLower = new Temperature(30);
  let tempUpper = new Temperature(40);
  let tempMiDF = new Temperature(35);
  let range = new util.Scope(tempLower, tempUpper);
  let result = range.clamp(tempMiDF);
Z
zengyawen 已提交
1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657
  ```


## Base64<sup>8+</sup>


### constructor<sup>8+</sup>

constructor()

Base64的构造函数。

Z
zengyawen 已提交
1658 1659 1660
**系统能力:** SystemCapability.Utils.Lang

**示例:**
1661
  ```js
1662
  let base64 = new  util.Base64();
Z
zengyawen 已提交
1663 1664 1665 1666 1667
  ```


### encodeSync<sup>8+</sup>

X
xdmal 已提交
1668
encodeSync(src: Uint8Array): Uint8Array
Z
zengyawen 已提交
1669 1670 1671

通过输入参数编码后输出对应文本。

Z
zengyawen 已提交
1672 1673 1674
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1675

1676 1677 1678
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array | 是 | 编码输入Uint8数组。 |
Z
zengyawen 已提交
1679

Z
zengyawen 已提交
1680
**返回值:**
1681

1682 1683 1684
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回编码后新分配的Uint8数组。 |
Z
zengyawen 已提交
1685

Z
zengyawen 已提交
1686
**示例:**
1687
  ```js
1688 1689 1690
  let that = new util.Base64();
  let array = new Uint8Array([115,49,51]);
  let result = that.encodeSync(array);
Z
zengyawen 已提交
1691 1692 1693 1694 1695
  ```


### encodeToStringSync<sup>8+</sup>

X
xdmal 已提交
1696
encodeToStringSync(src: Uint8Array): string
Z
zengyawen 已提交
1697 1698 1699

通过输入参数编码后输出对应文本。

Z
zengyawen 已提交
1700 1701 1702
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1703

1704 1705 1706
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array | 是 | 编码输入Uint8数组。 |
Z
zengyawen 已提交
1707

Z
zengyawen 已提交
1708
**返回值:**
1709

1710 1711 1712
| 类型 | 说明 |
| -------- | -------- |
| string | 返回编码后的字符串。 |
Z
zengyawen 已提交
1713

Z
zengyawen 已提交
1714
**示例:**
1715
  ```js
1716 1717 1718
  let that = new util.Base64();
  let array = new Uint8Array([115,49,51]);
  let result = that.encodeToStringSync(array);
Z
zengyawen 已提交
1719 1720 1721 1722 1723
  ```


### decodeSync<sup>8+</sup>

X
xdmal 已提交
1724
decodeSync(src: Uint8Array | string): Uint8Array
Z
zengyawen 已提交
1725 1726 1727

通过输入参数解码后输出对应文本。

Z
zengyawen 已提交
1728 1729 1730
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1731

1732 1733 1734
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array&nbsp;\|&nbsp;string | 是 | 解码输入Uint8数组或者字符串。 |
Z
zengyawen 已提交
1735

Z
zengyawen 已提交
1736
**返回值:**
1737

1738 1739 1740
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回解码后新分配的Uint8数组。 |
Z
zengyawen 已提交
1741

Z
zengyawen 已提交
1742
**示例:**
1743
  ```js
1744 1745 1746
  let that = new util.Base64();
  let buff = 'czEz';
  let result = that.decodeSync(buff);
Z
zengyawen 已提交
1747 1748 1749 1750 1751
  ```


### encode<sup>8+</sup>

X
xdmal 已提交
1752
encode(src: Uint8Array): Promise&lt;Uint8Array&gt;
Z
zengyawen 已提交
1753 1754 1755

通过输入参数异步编码后输出对应文本。

Z
zengyawen 已提交
1756 1757 1758
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1759

1760 1761 1762
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array | 是 | 异步编码输入Uint8数组。 |
Z
zengyawen 已提交
1763

Z
zengyawen 已提交
1764
**返回值:**
1765

1766 1767 1768
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Uint8Array&gt; | 返回异步编码后新分配的Uint8数组。 |
Z
zengyawen 已提交
1769

Z
zengyawen 已提交
1770
**示例:**
1771
  ```js
1772 1773 1774
  let that = new util.Base64();
  let array = new Uint8Array([115,49,51]);
  let rarray = new Uint8Array([99,122,69,122]);
Z
zengyawen 已提交
1775
  that.encode(array).then(val=>{    
Z
zengyawen 已提交
1776
      for (var i = 0; i < rarray.length; i++) {        
S
shikai-123 已提交
1777
          console.log(val[i].toString())
Z
zengyawen 已提交
1778 1779 1780 1781 1782 1783 1784
      }
  })
  ```


### encodeToString<sup>8+</sup>

X
xdmal 已提交
1785
encodeToString(src: Uint8Array): Promise&lt;string&gt;
Z
zengyawen 已提交
1786 1787 1788

通过输入参数异步编码后输出对应文本。

Z
zengyawen 已提交
1789 1790 1791
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1792

1793 1794 1795
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array | 是 | 异步编码输入Uint8数组。 |
Z
zengyawen 已提交
1796

Z
zengyawen 已提交
1797
**返回值:**
1798

1799 1800 1801
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;string&gt; | 返回异步编码后的字符串。 |
Z
zengyawen 已提交
1802

Z
zengyawen 已提交
1803
**示例:**
1804
  ```js
1805 1806
  let that = new util.Base64();
  let array = new Uint8Array([115,49,51]);
Z
zengyawen 已提交
1807
  that.encodeToString(array).then(val=>{    
Z
zengyawen 已提交
1808
      console.log(val)
Z
zengyawen 已提交
1809 1810 1811 1812 1813 1814
  })
  ```


### decode<sup>8+</sup>

X
xdmal 已提交
1815
decode(src: Uint8Array | string): Promise&lt;Uint8Array&gt;
Z
zengyawen 已提交
1816 1817 1818

通过输入参数异步解码后输出对应文本。

Z
zengyawen 已提交
1819 1820 1821
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1822

1823 1824 1825
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array&nbsp;\|&nbsp;string | 是 | 异步解码输入Uint8数组或者字符串。 |
Z
zengyawen 已提交
1826

Z
zengyawen 已提交
1827
**返回值:**
1828

1829 1830 1831
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Uint8Array&gt; | 返回异步解码后新分配的Uint8数组。 |
Z
zengyawen 已提交
1832

Z
zengyawen 已提交
1833
**示例:**
1834
  ```js
1835 1836 1837
  let that = new util.Base64();
  let array = new Uint8Array([99,122,69,122]);
  let rarray = new Uint8Array([115,49,51]);
Z
zengyawen 已提交
1838
  that.decode(array).then(val=>{    
Z
zengyawen 已提交
1839
      for (var i = 0; i < rarray.length; i++) {        
S
shikai-123 已提交
1840
          console.log(val[i].toString())
Z
zengyawen 已提交
1841 1842 1843 1844 1845
      }
  })
  ```


1846
## types<sup>8+</sup>
Z
zengyawen 已提交
1847 1848 1849 1850 1851 1852 1853 1854


### constructor<sup>8+</sup>

constructor()

Types的构造函数。

Z
zengyawen 已提交
1855 1856 1857
**系统能力:** SystemCapability.Utils.Lang

**示例:**
1858
  ```js
1859
  let type = new util.types();
Z
zengyawen 已提交
1860 1861 1862 1863 1864
  ```


### isAnyArrayBuffer<sup>8+</sup>

X
xdmal 已提交
1865
isAnyArrayBuffer(value: Object): boolean
Z
zengyawen 已提交
1866 1867 1868

检查输入的value是否是ArrayBuffer类型。

Z
zengyawen 已提交
1869 1870 1871
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1872

1873 1874 1875
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1876

Z
zengyawen 已提交
1877
**返回值:**
1878

1879 1880 1881
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是ArrayBuffer类型为true,反之为false。 |
Z
zengyawen 已提交
1882

Z
zengyawen 已提交
1883
**示例:**
1884
  ```js
1885 1886
  let that = new util.types();
  let result = that.isAnyArrayBuffer(new ArrayBuffer(0));
Z
zengyawen 已提交
1887 1888 1889 1890 1891
  ```


### isArrayBufferView<sup>8+</sup>

X
xdmal 已提交
1892
isArrayBufferView(value: Object): boolean
Z
zengyawen 已提交
1893 1894 1895

检查输入的value是否是内置ArrayBufferView辅助类型。

Z
zengyawen 已提交
1896
ArrayBufferView辅助类型包括:Int8Array、Int16Array、Int32Array、Uint8Array、Uint8ClampedArray、Uint32Array、Float32Array、Float64Array、DataView。
Z
zengyawen 已提交
1897

Z
zengyawen 已提交
1898 1899 1900
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1901

1902 1903 1904
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1905

Z
zengyawen 已提交
1906
**返回值:**
1907

1908 1909 1910
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的ArrayBufferView辅助类型为true,反之为false。 |
Z
zengyawen 已提交
1911

Z
zengyawen 已提交
1912
**示例:**
1913
  ```js
1914 1915
  let that = new util.types();
  let result = that.isArrayBufferView(new Int8Array([]));
Z
zengyawen 已提交
1916 1917 1918 1919 1920
  ```


### isArgumentsObject<sup>8+</sup>

X
xdmal 已提交
1921
isArgumentsObject(value: Object): boolean
Z
zengyawen 已提交
1922 1923 1924

检查输入的value是否是一个arguments对象类型。

Z
zengyawen 已提交
1925 1926 1927
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1928

1929 1930 1931
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1932

Z
zengyawen 已提交
1933
**返回值:**
1934

1935 1936 1937
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的arguments类型为true,反之为false。 |
Z
zengyawen 已提交
1938

Z
zengyawen 已提交
1939
**示例:**
1940
  ```js
1941
  let that = new util.types();
Z
zengyawen 已提交
1942 1943 1944
  function foo() {
      var result = that.isArgumentsObject(arguments);
  }
1945
  let f = foo();
Z
zengyawen 已提交
1946 1947 1948 1949 1950
  ```


### isArrayBuffer<sup>8+</sup>

X
xdmal 已提交
1951
isArrayBuffer(value: Object): boolean
Z
zengyawen 已提交
1952

Z
zengyawen 已提交
1953
检查输入的value是否是ArrayBuffer类型。
Z
zengyawen 已提交
1954

Z
zengyawen 已提交
1955 1956 1957
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1958

1959 1960 1961
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1962

Z
zengyawen 已提交
1963
**返回值:**
1964

1965 1966 1967
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的ArrayBuffer类型为true,反之为false。 |
Z
zengyawen 已提交
1968

Z
zengyawen 已提交
1969
**示例:**
1970
  ```js
1971 1972
  let that = new util.types();
  let result = that.isArrayBuffer(new ArrayBuffer(0));
Z
zengyawen 已提交
1973 1974 1975 1976 1977
  ```


### isAsyncFunction<sup>8+</sup>

X
xdmal 已提交
1978
isAsyncFunction(value: Object): boolean
Z
zengyawen 已提交
1979 1980 1981

检查输入的value是否是一个异步函数类型。

Z
zengyawen 已提交
1982 1983 1984
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1985

1986 1987 1988
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1989

Z
zengyawen 已提交
1990
**返回值:**
1991

1992 1993 1994
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的异步函数类型为true,反之为false。 |
Z
zengyawen 已提交
1995

Z
zengyawen 已提交
1996
**示例:**
1997
  ```js
1998 1999
  let that = new util.types();
  let result = that.isAsyncFunction(async function foo() {});
Z
zengyawen 已提交
2000 2001 2002 2003 2004
  ```


### isBooleanObject<sup>8+</sup>

X
xdmal 已提交
2005
isBooleanObject(value: Object): boolean
Z
zengyawen 已提交
2006 2007 2008

检查输入的value是否是一个Boolean对象类型。

Z
zengyawen 已提交
2009 2010 2011
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2012

2013 2014 2015
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2016

Z
zengyawen 已提交
2017
**返回值:**
2018

2019 2020 2021
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Boolean对象类型为true,反之为false。 |
Z
zengyawen 已提交
2022

Z
zengyawen 已提交
2023
**示例:**
2024
  ```js
2025 2026
  let that = new util.types();
  let result = that.isBooleanObject(new Boolean(true));
Z
zengyawen 已提交
2027 2028 2029 2030 2031
  ```


### isBoxedPrimitive<sup>8+</sup>

X
xdmal 已提交
2032
isBoxedPrimitive(value: Object): boolean
Z
zengyawen 已提交
2033 2034 2035

检查输入的value是否是Boolean或Number或String或Symbol对象类型。

Z
zengyawen 已提交
2036 2037 2038
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2039

2040 2041 2042
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2043

Z
zengyawen 已提交
2044
**返回值:**
2045

2046 2047 2048
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Boolean或Number或String或Symbol对象类型为true,反之为false。 |
Z
zengyawen 已提交
2049

Z
zengyawen 已提交
2050
**示例:**
2051
  ```js
2052 2053
  let that = new util.types();
  let result = that.isBoxedPrimitive(new Boolean(false));
Z
zengyawen 已提交
2054 2055 2056 2057 2058
  ```


### isDataView<sup>8+</sup>

X
xdmal 已提交
2059
isDataView(value: Object): boolean
Z
zengyawen 已提交
2060 2061 2062

检查输入的value是否是DataView类型。

Z
zengyawen 已提交
2063 2064 2065
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2066

2067 2068 2069
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2070

Z
zengyawen 已提交
2071
**返回值:**
2072

2073 2074 2075
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的DataView对象类型为true,反之为false。 |
Z
zengyawen 已提交
2076

Z
zengyawen 已提交
2077
**示例:**
2078
  ```js
2079
  let that = new util.types();
Z
zengyawen 已提交
2080
  const ab = new ArrayBuffer(20);
2081
  let result = that.isDataView(new DataView(ab));
Z
zengyawen 已提交
2082 2083 2084 2085 2086
  ```


### isDate<sup>8+</sup>

X
xdmal 已提交
2087
isDate(value: Object): boolean
Z
zengyawen 已提交
2088 2089 2090

检查输入的value是否是Date类型。

Z
zengyawen 已提交
2091 2092 2093
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2094

2095 2096 2097
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2098

Z
zengyawen 已提交
2099
**返回值:**
2100

2101 2102 2103
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Date对象类型为true,反之为false。 |
Z
zengyawen 已提交
2104

Z
zengyawen 已提交
2105
**示例:**
2106
  ```js
2107 2108
  let that = new util.types();
  let result = that.isDate(new Date());
Z
zengyawen 已提交
2109 2110 2111 2112 2113
  ```


### isExternal<sup>8+</sup>

X
xdmal 已提交
2114
isExternal(value: Object): boolean
Z
zengyawen 已提交
2115 2116 2117

检查输入的value是否是native External类型。

Z
zengyawen 已提交
2118 2119 2120
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2121

2122 2123 2124
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2125

Z
zengyawen 已提交
2126
**返回值:**
2127

2128 2129 2130
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含native&nbsp;External类型为true,反之为false。 |
Z
zengyawen 已提交
2131

Z
zengyawen 已提交
2132
**示例:**
2133
  ```js
2134 2135
  let that = new util.types();
  let result = that.isExternal(true);
Z
zengyawen 已提交
2136 2137 2138 2139 2140
  ```


### isFloat32Array<sup>8+</sup>

X
xdmal 已提交
2141
isFloat32Array(value: Object): boolean
Z
zengyawen 已提交
2142 2143 2144

检查输入的value是否是Float32Array数组类型。

Z
zengyawen 已提交
2145 2146 2147
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2148

2149 2150 2151
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2152

Z
zengyawen 已提交
2153
**返回值:**
2154

2155 2156 2157
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Float32Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2158

Z
zengyawen 已提交
2159
**示例:**
2160
  ```js
2161 2162
  let that = new util.types();
  let result = that.isFloat32Array(new Float32Array());
Z
zengyawen 已提交
2163 2164 2165 2166 2167
  ```


### isFloat64Array<sup>8+</sup>

X
xdmal 已提交
2168
isFloat64Array(value: Object): boolean
Z
zengyawen 已提交
2169 2170 2171

检查输入的value是否是Float64Array数组类型。

Z
zengyawen 已提交
2172 2173 2174
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2175

2176 2177 2178
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2179

Z
zengyawen 已提交
2180
**返回值:**
2181

2182 2183 2184
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Float64Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2185

Z
zengyawen 已提交
2186
**示例:**
2187
  ```js
2188 2189
  let that = new util.types();
  let result = that.isFloat64Array(new Float64Array());
Z
zengyawen 已提交
2190 2191 2192 2193 2194
  ```


### isGeneratorFunction<sup>8+</sup>

X
xdmal 已提交
2195
isGeneratorFunction(value: Object): boolean
Z
zengyawen 已提交
2196 2197 2198

检查输入的value是否是generator函数类型。

Z
zengyawen 已提交
2199 2200 2201
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2202

2203 2204 2205
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2206

Z
zengyawen 已提交
2207
**返回值:**
2208

2209 2210 2211
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的generator函数类型为true,反之为false。 |
Z
zengyawen 已提交
2212

Z
zengyawen 已提交
2213
**示例:**
2214
  ```js
2215 2216
  let that = new util.types();
  let result = that.isGeneratorFunction(function* foo() {});
Z
zengyawen 已提交
2217 2218 2219 2220 2221
  ```


### isGeneratorObject<sup>8+</sup>

X
xdmal 已提交
2222
isGeneratorObject(value: Object): boolean
Z
zengyawen 已提交
2223 2224 2225

检查输入的value是否是generator对象类型。

Z
zengyawen 已提交
2226 2227 2228
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2229

2230 2231 2232
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2233

Z
zengyawen 已提交
2234
**返回值:**
2235

2236 2237 2238
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的generator对象类型为true,反之为false。 |
Z
zengyawen 已提交
2239

Z
zengyawen 已提交
2240
**示例:**
2241
  ```js
2242
  let that = new util.types();
Z
zengyawen 已提交
2243 2244
  function* foo() {}
  const generator = foo();
2245
  let result = that.isGeneratorObject(generator);
Z
zengyawen 已提交
2246 2247 2248 2249 2250
  ```


### isInt8Array<sup>8+</sup>

X
xdmal 已提交
2251
isInt8Array(value: Object): boolean
Z
zengyawen 已提交
2252 2253 2254

检查输入的value是否是Int8Array数组类型。

Z
zengyawen 已提交
2255 2256 2257
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2258

2259 2260 2261
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2262

Z
zengyawen 已提交
2263
**返回值:**
2264

2265 2266 2267
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Int8Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2268

Z
zengyawen 已提交
2269
**示例:**
2270
  ```js
2271 2272
  let that = new util.types();
  let result = that.isInt8Array(new Int8Array([]));
Z
zengyawen 已提交
2273 2274 2275 2276 2277
  ```


### isInt16Array<sup>8+</sup>

X
xdmal 已提交
2278
isInt16Array(value: Object): boolean
Z
zengyawen 已提交
2279 2280 2281

检查输入的value是否是Int16Array数组类型。

Z
zengyawen 已提交
2282 2283 2284
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2285

2286 2287 2288
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2289

Z
zengyawen 已提交
2290
**返回值:**
2291

2292 2293 2294
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Int16Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2295

Z
zengyawen 已提交
2296
**示例:**
2297
  ```js
2298 2299
  let that = new util.types();
  let result = that.isInt16Array(new Int16Array([]));
Z
zengyawen 已提交
2300 2301 2302 2303 2304
  ```


### isInt32Array<sup>8+</sup>

X
xdmal 已提交
2305
isInt32Array(value: Object): boolean
Z
zengyawen 已提交
2306 2307 2308

检查输入的value是否是Int32Array数组类型。

Z
zengyawen 已提交
2309 2310 2311
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2312

2313 2314 2315
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2316

Z
zengyawen 已提交
2317
**返回值:**
2318

2319 2320 2321
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Int32Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2322

Z
zengyawen 已提交
2323
**示例:**
2324
  ```js
2325 2326
  let that = new util.types();
  let result = that.isInt32Array(new Int32Array([]));
Z
zengyawen 已提交
2327 2328 2329 2330 2331
  ```


### isMap<sup>8+</sup>

X
xdmal 已提交
2332
isMap(value: Object): boolean
Z
zengyawen 已提交
2333 2334 2335

检查输入的value是否是Map类型。

Z
zengyawen 已提交
2336 2337 2338
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2339

2340 2341 2342
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2343

Z
zengyawen 已提交
2344
**返回值:**
2345

2346 2347 2348
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Map类型为true,反之为false。 |
Z
zengyawen 已提交
2349

Z
zengyawen 已提交
2350
**示例:**
2351
  ```js
2352 2353
  let that = new util.types();
  let result = that.isMap(new Map());
Z
zengyawen 已提交
2354 2355 2356 2357 2358
  ```


### isMapIterator<sup>8+</sup>

X
xdmal 已提交
2359
isMapIterator(value: Object): boolean
Z
zengyawen 已提交
2360 2361 2362

检查输入的value是否是Map的Iterator类型。

Z
zengyawen 已提交
2363 2364 2365
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2366

2367 2368 2369
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2370

Z
zengyawen 已提交
2371
**返回值:**
2372

2373 2374 2375
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Map的Iterator类型为true,反之为false。 |
Z
zengyawen 已提交
2376

Z
zengyawen 已提交
2377
**示例:**
2378
  ```js
2379
  let that = new util.types();
Z
zengyawen 已提交
2380
  const map = new Map();
2381
  let result = that.isMapIterator(map.keys());
Z
zengyawen 已提交
2382 2383 2384 2385 2386
  ```


### isNativeError<sup>8+</sup>

X
xdmal 已提交
2387
isNativeError(value: Object): boolean
Z
zengyawen 已提交
2388 2389 2390

检查输入的value是否是Error类型。

Z
zengyawen 已提交
2391 2392 2393
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2394

2395 2396 2397
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2398

Z
zengyawen 已提交
2399
**返回值:**
2400

2401 2402 2403
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Error类型为true,反之为false。 |
Z
zengyawen 已提交
2404

Z
zengyawen 已提交
2405
**示例:**
2406
  ```js
2407 2408
  let that = new util.types();
  let result = that.isNativeError(new TypeError());
Z
zengyawen 已提交
2409 2410 2411 2412 2413
  ```


### isNumberObject<sup>8+</sup>

X
xdmal 已提交
2414
isNumberObject(value: Object): boolean
Z
zengyawen 已提交
2415 2416 2417

检查输入的value是否是Number对象类型。

Z
zengyawen 已提交
2418 2419 2420
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2421

2422 2423 2424
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2425

Z
zengyawen 已提交
2426
**返回值:**
2427

2428 2429 2430
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Number对象类型为true,反之为false。 |
Z
zengyawen 已提交
2431

Z
zengyawen 已提交
2432
**示例:**
2433
  ```js
2434 2435
  let that = new util.types();
  let result = that.isNumberObject(new Number(0));
Z
zengyawen 已提交
2436 2437 2438 2439 2440
  ```


### isPromise<sup>8+</sup>

X
xdmal 已提交
2441
isPromise(value: Object): boolean
Z
zengyawen 已提交
2442 2443 2444

检查输入的value是否是Promise类型。

Z
zengyawen 已提交
2445 2446 2447
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2448

2449 2450 2451
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2452

Z
zengyawen 已提交
2453
**返回值:**
2454

2455 2456 2457
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Promise类型为true,反之为false。 |
Z
zengyawen 已提交
2458

Z
zengyawen 已提交
2459
**示例:**
2460
  ```js
2461 2462
  let that = new util.types();
  let result = that.isPromise(Promise.resolve(1));
Z
zengyawen 已提交
2463 2464 2465 2466 2467
  ```


### isProxy<sup>8+</sup>

X
xdmal 已提交
2468
isProxy(value: Object): boolean
Z
zengyawen 已提交
2469 2470 2471

检查输入的value是否是Proxy类型。

Z
zengyawen 已提交
2472 2473 2474
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2475

2476 2477 2478
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2479

Z
zengyawen 已提交
2480
**返回值:**
2481

2482 2483 2484
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Proxy类型为true,反之为false。 |
Z
zengyawen 已提交
2485

Z
zengyawen 已提交
2486
**示例:**
2487
  ```js
2488
  let that = new util.types();
Z
zengyawen 已提交
2489 2490
  const target = {};
  const proxy = new Proxy(target, {});
2491
  let result = that.isProxy(proxy);
Z
zengyawen 已提交
2492 2493 2494 2495 2496
  ```


### isRegExp<sup>8+</sup>

X
xdmal 已提交
2497
isRegExp(value: Object): boolean
Z
zengyawen 已提交
2498 2499 2500

检查输入的value是否是RegExp类型。

Z
zengyawen 已提交
2501 2502 2503
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2504

2505 2506 2507
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2508

Z
zengyawen 已提交
2509
**返回值:**
2510

2511 2512 2513
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的RegExp类型为true,反之为false。 |
Z
zengyawen 已提交
2514

Z
zengyawen 已提交
2515
**示例:**
2516
  ```js
2517 2518
  let that = new util.types();
  let result = that.isRegExp(new RegExp('abc'));
Z
zengyawen 已提交
2519 2520 2521 2522 2523
  ```


### isSet<sup>8+</sup>

X
xdmal 已提交
2524
isSet(value: Object): boolean
Z
zengyawen 已提交
2525 2526 2527

检查输入的value是否是Set类型。

Z
zengyawen 已提交
2528 2529 2530
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2531

2532 2533 2534
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2535

Z
zengyawen 已提交
2536
**返回值:**
2537

2538 2539 2540
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Set类型为true,反之为false。 |
Z
zengyawen 已提交
2541

Z
zengyawen 已提交
2542
**示例:**
2543
  ```js
2544 2545
  let that = new util.types();
  let result = that.isSet(new Set());
Z
zengyawen 已提交
2546 2547 2548 2549 2550
  ```


### isSetIterator<sup>8+</sup>

X
xdmal 已提交
2551
isSetIterator(value: Object): boolean
Z
zengyawen 已提交
2552 2553 2554

检查输入的value是否是Set的Iterator类型。

Z
zengyawen 已提交
2555 2556 2557
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2558

2559 2560 2561
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2562

Z
zengyawen 已提交
2563
**返回值:**
2564

2565 2566 2567
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Set的Iterator类型为true,反之为false。 |
Z
zengyawen 已提交
2568

Z
zengyawen 已提交
2569
**示例:**
2570
  ```js
2571
  let that = new util.types();
Z
zengyawen 已提交
2572
  const set = new Set();
2573
  let result = that.isSetIterator(set.keys());
Z
zengyawen 已提交
2574 2575 2576 2577 2578
  ```


### isStringObject<sup>8+</sup>

X
xdmal 已提交
2579
isStringObject(value: Object): boolean
Z
zengyawen 已提交
2580 2581 2582

检查输入的value是否是String对象类型。

Z
zengyawen 已提交
2583 2584 2585
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2586

2587 2588 2589
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2590

Z
zengyawen 已提交
2591
**返回值:**
2592

2593 2594 2595
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的String对象类型为true,反之为false。 |
Z
zengyawen 已提交
2596

Z
zengyawen 已提交
2597
**示例:**
2598
  ```js
2599 2600
  let that = new util.types();
  let result = that.isStringObject(new String('foo'));
Z
zengyawen 已提交
2601 2602 2603 2604 2605
  ```


### isSymbolObjec<sup>8+</sup>

X
xdmal 已提交
2606
isSymbolObject(value: Object): boolean
Z
zengyawen 已提交
2607 2608 2609

检查输入的value是否是Symbol对象类型。

Z
zengyawen 已提交
2610 2611 2612
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2613

2614 2615 2616
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2617

Z
zengyawen 已提交
2618
**返回值:**
2619

2620 2621 2622
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Symbol对象类型为true,反之为false。 |
Z
zengyawen 已提交
2623

Z
zengyawen 已提交
2624
**示例:**
2625
  ```js
2626
  let that = new util.types();
Z
zengyawen 已提交
2627
  const symbols = Symbol('foo');
2628
  let result = that.isSymbolObject(Object(symbols));
Z
zengyawen 已提交
2629 2630 2631 2632 2633
  ```


### isTypedArray<sup>8+</sup>

X
xdmal 已提交
2634
isTypedArray(value: Object): boolean
Z
zengyawen 已提交
2635 2636 2637

检查输入的value是否是TypedArray类型的辅助类型。

Z
zengyawen 已提交
2638
TypedArray类型的辅助类型,包括Int8Array、Int16Array、Int32Array、Uint8Array、Uint8ClampedArray、Uint16Array、Uint32Array、Float32Array、Float64Array、DataView。
Z
zengyawen 已提交
2639

Z
zengyawen 已提交
2640 2641 2642
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2643

2644 2645 2646
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2647

Z
zengyawen 已提交
2648
**返回值:**
2649

2650 2651 2652
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的TypedArray包含的类型为true,反之为false。 |
Z
zengyawen 已提交
2653

Z
zengyawen 已提交
2654
**示例:**
2655
  ```js
2656 2657
  let that = new util.types();
  let result = that.isTypedArray(new Float64Array([]));
Z
zengyawen 已提交
2658 2659 2660 2661 2662
  ```


### isUint8Array<sup>8+</sup>

X
xdmal 已提交
2663
isUint8Array(value: Object): boolean
Z
zengyawen 已提交
2664 2665 2666

检查输入的value是否是Uint8Array数组类型。

Z
zengyawen 已提交
2667 2668 2669
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2670

2671 2672 2673
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2674

Z
zengyawen 已提交
2675
**返回值:**
2676

2677 2678 2679
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint8Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2680

Z
zengyawen 已提交
2681
**示例:**
2682
  ```js
2683 2684
  let that = new util.types();
  let result = that.isUint8Array(new Uint8Array([]));
Z
zengyawen 已提交
2685 2686 2687 2688 2689
  ```


### isUint8ClampedArray<sup>8+</sup>

X
xdmal 已提交
2690
isUint8ClampedArray(value: Object): boolean
Z
zengyawen 已提交
2691 2692 2693

检查输入的value是否是Uint8ClampedArray数组类型。

Z
zengyawen 已提交
2694 2695 2696
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2697

2698 2699 2700
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2701

Z
zengyawen 已提交
2702
**返回值:**
2703

2704 2705 2706
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint8ClampedArray数组类型为true,反之为false。 |
Z
zengyawen 已提交
2707

Z
zengyawen 已提交
2708
**示例:**
2709
  ```js
2710 2711
  let that = new util.types();
  let result = that.isUint8ClampedArray(new Uint8ClampedArray([]));
Z
zengyawen 已提交
2712 2713 2714 2715 2716
  ```


### isUint16Array<sup>8+</sup>

X
xdmal 已提交
2717
isUint16Array(value: Object): boolean
Z
zengyawen 已提交
2718 2719 2720

检查输入的value是否是Uint16Array数组类型。

Z
zengyawen 已提交
2721 2722 2723
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2724

2725 2726 2727
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2728

Z
zengyawen 已提交
2729
**返回值:**
2730

2731 2732 2733
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint16Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2734

Z
zengyawen 已提交
2735
**示例:**
2736
  ```js
2737 2738
  let that = new util.types();
  let result = that.isUint16Array(new Uint16Array([]));
Z
zengyawen 已提交
2739 2740 2741 2742 2743
  ```


### isUint32Array<sup>8+</sup>

X
xdmal 已提交
2744
isUint32Array(value: Object): boolean
Z
zengyawen 已提交
2745 2746 2747

检查输入的value是否是Uint32Array数组类型。

Z
zengyawen 已提交
2748 2749 2750
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2751

2752 2753 2754
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2755

Z
zengyawen 已提交
2756
**返回值:**
2757

2758 2759 2760
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint32Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2761

Z
zengyawen 已提交
2762
**示例:**
2763
  ```js
2764 2765
  let that = new util.types();
  let result = that.isUint32Array(new Uint32Array([]));
Z
zengyawen 已提交
2766 2767 2768 2769 2770
  ```


### isWeakMap<sup>8+</sup>

X
xdmal 已提交
2771
isWeakMap(value: Object): boolean
Z
zengyawen 已提交
2772 2773 2774

检查输入的value是否是WeakMap类型。

Z
zengyawen 已提交
2775 2776 2777
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2778

2779 2780 2781
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2782

Z
zengyawen 已提交
2783
**返回值:**
2784

2785 2786 2787
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的WeakMap类型为true,反之为false。 |
Z
zengyawen 已提交
2788

Z
zengyawen 已提交
2789
**示例:**
2790
  ```js
2791 2792
  let that = new util.types();
  let result = that.isWeakMap(new WeakMap());
Z
zengyawen 已提交
2793 2794 2795 2796 2797
  ```


### isWeakSet<sup>8+</sup>

X
xdmal 已提交
2798
isWeakSet(value: Object): boolean
Z
zengyawen 已提交
2799 2800 2801

检查输入的value是否是WeakSet类型。

Z
zengyawen 已提交
2802 2803 2804
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2805

2806 2807 2808
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2809

Z
zengyawen 已提交
2810
**返回值:**
2811

2812 2813 2814
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的WeakSet类型为true,反之为false。 |
Z
zengyawen 已提交
2815

Z
zengyawen 已提交
2816
**示例:**
2817
  ```js
2818 2819
  let that = new util.types();
  let result = that.isWeakSet(new WeakSet());
Z
zengyawen 已提交
2820
  ```
2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831


### isBigInt64Array<sup>8+</sup>

isBigInt64Array(value: Object): boolean

检查输入的value是否是BigInt64Array类型。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
2832

2833 2834 2835 2836 2837
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

**返回值:**
2838

2839 2840 2841 2842 2843 2844
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的BigInt64Array类型为true,反之为false。 |

**示例:**
  ```js
2845 2846
  let that = new util.types();
  let result = that.isBigInt64Array(new BigInt64Array([]));
2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858
  ```


### isBigUint64Array<sup>8+</sup>

isBigUint64Array(value: Object): boolean

检查输入的value是否是BigUint64Array类型。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
2859

2860 2861 2862 2863 2864
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

**返回值:**
2865

2866 2867 2868 2869 2870 2871
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的BigUint64Array类型为true,反之为false。 |

**示例:**
  ```js
2872 2873
  let that = new util.types();
  let result = that.isBigUint64Array(new BigUint64Array([]));
2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885
  ```


### isModuleNamespaceObject<sup>8+</sup>

isModuleNamespaceObject(value: Object): boolean

检查输入的value是否是Module Namespace Object类型。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
2886

2887 2888 2889 2890 2891
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

**返回值:**
2892

2893 2894 2895 2896 2897 2898 2899
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Module Namespace Object类型为true,反之为false。 |

**示例:**
  ```js
  import url from '@ohos.url'
2900 2901
  let that = new util.types();
  let result = that.isModuleNamespaceObject(url);
2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913
  ```


### isSharedArrayBuffer<sup>8+</sup>

isSharedArrayBuffer(value: Object): boolean

检查输入的value是否是SharedArrayBuffer类型。

**系统能力:** SystemCapability.Utils.Lang

**参数:**
2914

2915 2916 2917 2918 2919
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |

**返回值:**
2920

2921 2922 2923 2924 2925 2926
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的SharedArrayBuffer类型为true,反之为false。 |

**示例:**
  ```js
2927 2928
  let that = new util.types();
  let result = that.isSharedArrayBuffer(new SharedArrayBuffer(0));
2929
  ```