js-apis-util.md 60.2 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
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| format | string | 是 | 式样化字符串。 |
| ...args | Object[] | 否 | 待式样化数据。 |
Z
zengyawen 已提交
30

Z
zengyawen 已提交
31
**返回值:**
32 33 34
| 类型 | 说明 |
| -------- | -------- |
| string | 按特定格式式样化后的字符串。 |
Z
zengyawen 已提交
35

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


## util.getErrorString

getErrorString(errno: number): string
Z
zengyawen 已提交
46 47 48

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

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

**参数:**
52 53 54
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| errno | number | 是 | 系统发生错误产生的错误码。 |
Z
zengyawen 已提交
55

Z
zengyawen 已提交
56
**返回值:**
57 58 59
| 类型 | 说明 |
| -------- | -------- |
| string | 错误码对应的详细信息。 |
Z
zengyawen 已提交
60

Z
zengyawen 已提交
61
**示例:**
62
  ```js
S
shikai-123 已提交
63
  var errnum = 10; // 10 : a system error number
Z
zengyawen 已提交
64 65 66 67 68 69 70
  var result = util.getErrorString(errnum);
  console.log("result = " + result);
  ```


## util.callbackWrapper

Z
zengyawen 已提交
71
callbackWrapper(original: Function): (err: Object, value: Object )=>void
Z
zengyawen 已提交
72 73 74

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

Z
zengyawen 已提交
75 76 77 78
**系统能力:** SystemCapability.Utils.Lang

**参数:**

79 80 81
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| original | Function | 是 | 异步函数。 |
Z
zengyawen 已提交
82

Z
zengyawen 已提交
83
**返回值:**
84 85 86
| 类型 | 说明 |
| -------- | -------- |
| Function | 返回一个第一个参数是拒绝原因(如果 Promise 已解决,则为 null),第二个参数是已解决的回调函数。 |
Z
zengyawen 已提交
87

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


102
## util.promiseWrapper<sup>(deprecated)</sup>
Z
zengyawen 已提交
103 104

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

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

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

Z
zengyawen 已提交
111 112 113
**系统能力:** SystemCapability.Utils.Lang

**参数:**
114 115 116
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| original | Function | 是 | 异步函数。 |
Z
zengyawen 已提交
117

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

Z
zengyawen 已提交
123
**示例:**
124
  ```js
S
shikai-123 已提交
125 126
  function aysnFun() {
    return 0;
Z
zengyawen 已提交
127
  }
S
shikai-123 已提交
128 129 130
  let newPromiseObj = util.promiseWrapper(aysnFun);
  newPromiseObj().then(res => {
    console.log(res);
Z
zengyawen 已提交
131 132 133
  })
  ```

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

S
shikai-123 已提交
136
promisify(original: (err: Object, value: Object) =&gt; void): Function
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153

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

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

**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| original | Function | 是 | 异步函数。 |

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

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

## TextDecoder

### 属性

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

Z
zengyawen 已提交
173 174 175 176
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| 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 已提交
177
| ignoreBOM | boolean | 是 | 否 | 是否忽略BOM(byte&nbsp;order&nbsp;marker)标记,默认值为false&nbsp;,表示解码结果包含BOM标记。 |
Z
zengyawen 已提交
178 179 180 181


### constructor

S
shikai-123 已提交
182
constructor(encoding?: string, options?: { fatal?: boolean; ignoreBOM?: boolean },)
Z
zengyawen 已提交
183 184 185

TextDecoder的构造函数。

Z
zengyawen 已提交
186 187 188
**系统能力:** SystemCapability.Utils.Lang

**参数:**
189 190 191 192
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| encoding | string | 否 | 编码格式。 |
| options | Object | 否 | 编码相关选项参数,存在两个属性fatal和ignoreBOM。 |
Z
zengyawen 已提交
193 194

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

196 197 198 199
| 名称 | 参数类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| fatal | boolean | 否 | 是否显示致命错误。 |
| ignoreBOM | boolean | 否 | 是否忽略BOM标记。 |
Z
zengyawen 已提交
200

Z
zengyawen 已提交
201
**示例:**
202
  ```js
X
xdmal 已提交
203
  var textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});
Z
zengyawen 已提交
204 205 206 207 208
  ```


### decode

S
shikai-123 已提交
209
decode(input: Uint8Array, options?: { stream?: false }): string
Z
zengyawen 已提交
210 211 212

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

Z
zengyawen 已提交
213 214 215
**系统能力:** SystemCapability.Utils.Lang

**参数:**
216 217
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
218
| input | Uint8Array | 是 | 符合格式需要解码的数组。 |
219
| options | Object | 否 | 解码相关选项参数。 |
Z
zengyawen 已提交
220

Z
zengyawen 已提交
221
  **表2** options
Z
zengyawen 已提交
222

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

Z
zengyawen 已提交
227
**返回值:**
228 229 230
| 类型 | 说明 |
| -------- | -------- |
| string | 解码后的数据。 |
Z
zengyawen 已提交
231

Z
zengyawen 已提交
232
**示例:**
233
  ```js
X
xdmal 已提交
234
  var textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true});
Z
zengyawen 已提交
235 236 237 238 239 240 241 242
  var result = new Uint8Array(6);
  result[0] = 0xEF;
  result[1] = 0xBB;
  result[2] = 0xBF;
  result[3] = 0x61;
  result[4] = 0x62;
  result[5] = 0x63;
  console.log("input num:");
X
xdmal 已提交
243
  var retStr = textDecoder.decode( result , {stream: false});
Z
zengyawen 已提交
244 245 246 247 248
  console.log("retStr = " + retStr);
  ```


## TextEncoder
Z
zengyawen 已提交
249

Z
zengyawen 已提交
250
### 属性
Z
zengyawen 已提交
251

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

Z
zengyawen 已提交
254 255 256
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| encoding | string | 是 | 否 | 编码格式,默认值是utf-8。 |
Z
zengyawen 已提交
257 258


Z
zengyawen 已提交
259 260 261 262 263 264
### constructor

constructor()

TextEncoder的构造函数。

Z
zengyawen 已提交
265 266 267
**系统能力:** SystemCapability.Utils.Lang

**示例:**
268
  ```js
Z
zengyawen 已提交
269 270 271 272 273 274
  var textEncoder = new util.TextEncoder();
  ```


### encode

X
xdmal 已提交
275
encode(input?: string): Uint8Array
Z
zengyawen 已提交
276 277 278

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

Z
zengyawen 已提交
279 280 281
**系统能力:** SystemCapability.Utils.Lang

**参数:**
282 283 284
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| input | string | 是 | 需要编码的字符串。 |
Z
zengyawen 已提交
285

Z
zengyawen 已提交
286
**返回值:**
287 288 289
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回编码后的文本。 |
Z
zengyawen 已提交
290

Z
zengyawen 已提交
291
**示例:**
292
  ```js
Z
zengyawen 已提交
293
  var textEncoder = new util.TextEncoder();
294
  var buffer = new ArrayBuffer(20);
Z
zengyawen 已提交
295 296 297
  var result = new Uint8Array(buffer);
  result = textEncoder.encode("\uD800¥¥");
  ```
Z
zengyawen 已提交
298 299


Z
zengyawen 已提交
300 301
### encodeInto

X
xdmal 已提交
302
encodeInto(input: string, dest: Uint8Array, ): { read: number; written: number }
Z
zengyawen 已提交
303 304

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

Z
zengyawen 已提交
306 307 308
**系统能力:** SystemCapability.Utils.Lang

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

Z
zengyawen 已提交
314
**返回值:**
315 316 317
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回编码后的文本。 |
Z
zengyawen 已提交
318

Z
zengyawen 已提交
319
**示例:**
320
  ```js
S
shikai-123 已提交
321 322 323 324 325
  var that = new util.TextEncoder()
  var buffer = new ArrayBuffer(4)
  var dest = new Uint8Array(buffer)
  var result = new Object()
  result = that.encodeInto('abcd', dest)
Z
zengyawen 已提交
326
  ```
Z
zengyawen 已提交
327 328 329 330 331 332

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


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

X
xdmal 已提交
333
constructor(numerator: number,denominator: number)
Z
zengyawen 已提交
334 335 336

RationalNumber的构造函数。

Z
zengyawen 已提交
337 338 339
**系统能力:** SystemCapability.Utils.Lang

**参数:**
340 341 342 343
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| numerator | number | 是 | 分子,整数类型。 |
| denominator | number | 是 | 分母,整数类型。 |
Z
zengyawen 已提交
344

Z
zengyawen 已提交
345
**示例:**
346
  ```js
Z
zengyawen 已提交
347
  var rationalNumber = new util.RationalNumber(1,2);
Z
zengyawen 已提交
348 349 350 351 352
  ```


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

X
xdmal 已提交
353
static createRationalFromString​(rationalString: string): RationalNumber​
Z
zengyawen 已提交
354 355 356

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

Z
zengyawen 已提交
357 358 359
**系统能力:** SystemCapability.Utils.Lang

**参数:**
360 361 362
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| rationalString | string | 是 | 字符串格式。 |
Z
zengyawen 已提交
363

Z
zengyawen 已提交
364
**返回值:**
365 366 367
| 类型 | 说明 |
| -------- | -------- |
| object | 返回有理数类的对象。 |
Z
zengyawen 已提交
368

Z
zengyawen 已提交
369
**示例:**
370
  ```js
Z
zengyawen 已提交
371
  var rationalNumber = new util.RationalNumber(1,2);
S
shikai-123 已提交
372
  var rational = util.RationalNumber.createRationalFromString("3/4");
Z
zengyawen 已提交
373 374 375 376 377
  ```


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

X
xdmal 已提交
378
compareTo​(another: RationalNumber): number​
Z
zengyawen 已提交
379 380 381

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

Z
zengyawen 已提交
382 383 384
**系统能力:** SystemCapability.Utils.Lang

**参数:**
385 386 387
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| another | RationalNumber | 是 | 其他的有理数对象。 |
Z
zengyawen 已提交
388

Z
zengyawen 已提交
389
**返回值:**
390 391 392
| 类型 | 说明 |
| -------- | -------- |
| number | 如果两个对象相等,则返回0;如果给定对象小于当前对象,则返回1;如果给定对象大于当前对象,则返回-1。 |
Z
zengyawen 已提交
393

Z
zengyawen 已提交
394
**示例:**
395
  ```js
Z
zengyawen 已提交
396
  var rationalNumber = new util.RationalNumber(1,2);
S
shikai-123 已提交
397
  var rational = util.RationalNumber.createRationalFromString("3/4");
Z
zengyawen 已提交
398 399 400 401 402 403
  var result = rationalNumber.compareTo(rational);
  ```


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

X
xdmal 已提交
404
valueOf(): number
Z
zengyawen 已提交
405 406 407

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

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

**返回值:**
411 412 413
| 类型 | 说明 |
| -------- | -------- |
| number | 返回整数或者浮点数的值。 |
Z
zengyawen 已提交
414

Z
zengyawen 已提交
415
**示例:**
416
  ```js
Z
zengyawen 已提交
417 418 419 420 421 422 423
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.valueOf();
  ```


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

X
xdmal 已提交
424
equals​(obj: Object): boolean
Z
zengyawen 已提交
425 426 427

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

Z
zengyawen 已提交
428 429 430
**系统能力:** SystemCapability.Utils.Lang

**参数:**
431 432 433
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| object | Object | 是 | 其他类型对象。 |
Z
zengyawen 已提交
434

Z
zengyawen 已提交
435
**返回值:**
436 437 438
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果给定对象与当前对象相同,则返回true;否则返回false。 |
Z
zengyawen 已提交
439

Z
zengyawen 已提交
440
**示例:**
441
  ```js
Z
zengyawen 已提交
442
  var rationalNumber = new util.RationalNumber(1,2);
S
shikai-123 已提交
443
  var rational = util.RationalNumber.createRationalFromString("3/4");
Z
zengyawen 已提交
444 445 446 447 448 449
  var result = rationalNumber.equals(rational);
  ```


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

X
xdmal 已提交
450
static getCommonDivisor​(number1: number,number2: number): number
Z
zengyawen 已提交
451 452 453

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

Z
zengyawen 已提交
454 455 456
**系统能力:** SystemCapability.Utils.Lang

**参数:**
457 458 459 460
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| number1 | number | 是 | 整数类型。 |
| number2 | number | 是 | 整数类型。 |
Z
zengyawen 已提交
461

Z
zengyawen 已提交
462
**返回值:**
463 464 465
| 类型 | 说明 |
| -------- | -------- |
| number | 返回两个给定数字的最大公约数。 |
Z
zengyawen 已提交
466

Z
zengyawen 已提交
467
**示例:**
468
  ```js
Z
zengyawen 已提交
469
  var rationalNumber = new util.RationalNumber(1,2);
S
shikai-123 已提交
470
  var result = util.RationalNumber.getCommonDivisor(4,6);
Z
zengyawen 已提交
471 472 473 474 475
  ```


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

X
xdmal 已提交
476
getNumerator​(): number
Z
zengyawen 已提交
477 478 479

获取当前RationalNumber对象的分子。

Z
zengyawen 已提交
480 481 482 483
**系统能力:** SystemCapability.Utils.Lang

**返回值:**

484 485 486
| 类型 | 说明 |
| -------- | -------- |
| number | 返回RationalNumber对象的分子的值。 |
Z
zengyawen 已提交
487

Z
zengyawen 已提交
488
**示例:**
489
  ```js
Z
zengyawen 已提交
490 491 492 493 494 495 496
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.getNumerator();
  ```


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

X
xdmal 已提交
497
getDenominator​(): number
Z
zengyawen 已提交
498 499 500

获取当前RationalNumber对象的分母。

Z
zengyawen 已提交
501 502 503
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
504 505 506
| 类型 | 说明 |
| -------- | -------- |
| number | 返回RationalNumber对象的分母的值。 |
Z
zengyawen 已提交
507

Z
zengyawen 已提交
508
**示例:**
509
  ```js
Z
zengyawen 已提交
510 511 512 513 514 515 516 517 518 519 520
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.getDenominator();
  ```


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

isZero​():boolean

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

Z
zengyawen 已提交
521 522 523
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
524 525 526
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果当前对象表示的值为0,则返回true;否则返回false。 |
Z
zengyawen 已提交
527

Z
zengyawen 已提交
528
**示例:**
529
  ```js
Z
zengyawen 已提交
530 531 532 533 534 535 536
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.isZero();
  ```


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

X
xdmal 已提交
537
isNaN​(): boolean
Z
zengyawen 已提交
538 539 540

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

Z
zengyawen 已提交
541 542 543
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
544 545 546
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果分母和分子都为0,则返回true;否则返回false。 |
Z
zengyawen 已提交
547

Z
zengyawen 已提交
548
**示例:**
549
  ```js
Z
zengyawen 已提交
550 551 552 553 554 555 556 557 558 559 560
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.isNaN();
  ```


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

isFinite​():boolean

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

Z
zengyawen 已提交
561 562 563
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
564 565 566
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果分母不为0,则返回true;否则返回false。 |
Z
zengyawen 已提交
567

Z
zengyawen 已提交
568
**示例:**
569
  ```js
Z
zengyawen 已提交
570 571 572 573 574 575 576
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.isFinite();
  ```


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

X
xdmal 已提交
577
toString​(): string
Z
zengyawen 已提交
578 579 580

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

Z
zengyawen 已提交
581 582 583
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
584 585 586
| 类型 | 说明 |
| -------- | -------- |
| string | 返回Numerator/Denominator格式的字符串,例如3/5,如果当前对象的分子和分母都为0,则返回NaN。 |
Z
zengyawen 已提交
587

Z
zengyawen 已提交
588
**示例:**
589
  ```js
Z
zengyawen 已提交
590 591 592 593 594 595 596 597
  var rationalNumber = new util.RationalNumber(1,2);
  var result = rationalNumber.toString();
  ```

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

### 属性

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

Z
zengyawen 已提交
600 601 602 603
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| length | number | 是 | 否 | 当前缓冲区中值的总数。 |

Z
zengyawen 已提交
604
**示例:**
605
  ```js
Z
zengyawen 已提交
606 607 608 609 610 611 612 613 614
  var pro = new util.LruBuffer();
  pro.put(2,10);
  pro.put(1,8);
  var result = pro.length;
  ```


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

X
xdmal 已提交
615
constructor(capacity?: number)
Z
zengyawen 已提交
616 617 618

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

Z
zengyawen 已提交
619 620 621
**系统能力:** SystemCapability.Utils.Lang

**参数:**
622 623 624
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| capacity | number | 否 | 指示要为缓冲区自定义的容量。 |
Z
zengyawen 已提交
625

Z
zengyawen 已提交
626
**示例:**
627
  ```js
Z
zengyawen 已提交
628
  var lrubuffer= new util.LruBuffer();
Z
zengyawen 已提交
629 630 631 632 633
  ```


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

X
xdmal 已提交
634
updateCapacity(newCapacity: number): void
Z
zengyawen 已提交
635 636 637

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

Z
zengyawen 已提交
638 639 640
**系统能力:** SystemCapability.Utils.Lang

**参数:**
641 642 643
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| newCapacity | number | 是 | 指示要为缓冲区自定义的容量。 |
Z
zengyawen 已提交
644

Z
zengyawen 已提交
645
**示例:**
646
  ```js
Z
zengyawen 已提交
647 648 649 650 651 652 653
  var pro = new util.LruBuffer();
  var result = pro.updateCapacity(100);
  ```


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

X
xdmal 已提交
654
toString(): string
Z
zengyawen 已提交
655 656 657

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

Z
zengyawen 已提交
658 659 660
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
661 662 663
| 类型 | 说明 |
| -------- | -------- |
| string | 返回对象的字符串表示形式。 |
Z
zengyawen 已提交
664

Z
zengyawen 已提交
665
**示例:**
666
  ```js
Z
zengyawen 已提交
667 668 669 670 671 672 673 674 675 676
  var pro = new util.LruBuffer();
  pro.put(2,10);
  pro.get(2);
  pro.remove(20);
  var result = pro.toString();
  ```


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

X
xdmal 已提交
677
getCapacity(): number
Z
zengyawen 已提交
678 679 680

获取当前缓冲区的容量。

Z
zengyawen 已提交
681 682 683
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
684 685 686
| 类型 | 说明 |
| -------- | -------- |
| number | 返回当前缓冲区的容量。 |
Z
zengyawen 已提交
687

Z
zengyawen 已提交
688
**示例:**
689
  ```js
Z
zengyawen 已提交
690 691 692 693 694 695 696
  var pro = new util.LruBuffer();
  var result = pro.getCapacity();
  ```


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

X
xdmal 已提交
697
clear(): void
Z
zengyawen 已提交
698 699 700

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

Z
zengyawen 已提交
701 702 703
**系统能力:** SystemCapability.Utils.Lang

**示例:**
704
  ```js
Z
zengyawen 已提交
705 706
  var pro = new util.LruBuffer();
  pro.put(2,10);
S
shikai-123 已提交
707
  var result = pro.length;
Z
zengyawen 已提交
708 709 710 711 712 713
  pro.clear();
  ```


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

X
xdmal 已提交
714
getCreateCount(): number
Z
zengyawen 已提交
715 716 717

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

Z
zengyawen 已提交
718 719 720
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
721 722 723
| 类型 | 说明 |
| -------- | -------- |
| number | 返回createDefault()返回值的次数。 |
Z
zengyawen 已提交
724

Z
zengyawen 已提交
725
**示例:**
726
  ```js
Z
zengyawen 已提交
727 728 729 730 731 732 733 734
  var pro = new util.LruBuffer();
  pro.put(1,8);
  var result = pro.getCreateCount();
  ```


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

X
xdmal 已提交
735
getMissCount(): number
Z
zengyawen 已提交
736 737 738

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

Z
zengyawen 已提交
739 740 741
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
742 743 744
| 类型 | 说明 |
| -------- | -------- |
| number | 返回查询值不匹配的次数。 |
Z
zengyawen 已提交
745

Z
zengyawen 已提交
746
**示例:**
747
  ```js
Z
zengyawen 已提交
748 749
  var pro = new util.LruBuffer();
  pro.put(2,10);
Z
zengyawen 已提交
750
  pro.get(2);
Z
zengyawen 已提交
751 752 753 754 755 756
  var result = pro.getMissCount();
  ```


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

X
xdmal 已提交
757
getRemovalCount(): number
Z
zengyawen 已提交
758 759 760

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

Z
zengyawen 已提交
761 762 763
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
764 765 766
| 类型 | 说明 |
| -------- | -------- |
| number | 返回从缓冲区中驱逐的次数。 |
Z
zengyawen 已提交
767

Z
zengyawen 已提交
768
**示例:**
769
  ```js
Z
zengyawen 已提交
770 771 772 773 774 775 776 777 778 779
  var pro = new util.LruBuffer();
  pro.put(2,10);
  pro.updateCapacity(2);
  pro.put(50,22);
  var result = pro.getRemovalCount();
  ```


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

X
xdmal 已提交
780
getMatchCount(): number
Z
zengyawen 已提交
781 782 783

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

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

**返回值:**
787 788 789
| 类型 | 说明 |
| -------- | -------- |
| number | 返回查询值匹配成功的次数。 |
Z
zengyawen 已提交
790

Z
zengyawen 已提交
791
**示例:**
792
  ```js
Z
zengyawen 已提交
793 794 795 796 797 798 799 800 801
  var pro = new util.LruBuffer();
  pro.put(2,10);
  pro.get(2);
  var result = pro.getMatchCount();
  ```


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

X
xdmal 已提交
802
getPutCount(): number
Z
zengyawen 已提交
803 804 805

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

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

**返回值:**
809 810 811
| 类型 | 说明 |
| -------- | -------- |
| number | 返回将值添加到缓冲区的次数。 |
Z
zengyawen 已提交
812

Z
zengyawen 已提交
813
**示例:**
814
  ```js
Z
zengyawen 已提交
815 816 817 818 819 820 821 822
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro.getPutCount();
  ```


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

X
xdmal 已提交
823
isEmpty(): boolean
Z
zengyawen 已提交
824 825 826

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

Z
zengyawen 已提交
827 828 829
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
830 831 832
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果当前缓冲区不包含任何值,则返回true。 |
Z
zengyawen 已提交
833

Z
zengyawen 已提交
834
**示例:**
835
  ```js
Z
zengyawen 已提交
836 837 838 839 840 841 842 843
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro.isEmpty();
  ```


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

X
xdmal 已提交
844
get(key: K): V | undefined
Z
zengyawen 已提交
845 846 847

表示要查询的键。

Z
zengyawen 已提交
848 849 850
**系统能力:** SystemCapability.Utils.Lang

**参数:**
851 852 853
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 要查询的键。 |
Z
zengyawen 已提交
854

Z
zengyawen 已提交
855
**返回值:**
856 857 858
| 类型 | 说明 |
| -------- | -------- |
| V&nbsp;\|&nbsp;undefind | 如果指定的键存在于缓冲区中,则返回与键关联的值;否则返回undefined。 |
Z
zengyawen 已提交
859

Z
zengyawen 已提交
860
**示例:**
861
  ```js
Z
zengyawen 已提交
862 863 864 865 866 867 868 869
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result  = pro.get(2);
  ```


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

X
xdmal 已提交
870
put(key: K,value: V): V
Z
zengyawen 已提交
871 872 873

将键值对添加到缓冲区。

Z
zengyawen 已提交
874 875 876
**系统能力:** SystemCapability.Utils.Lang

**参数:**
877 878 879 880
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 要添加的密钥。 |
| value | V | 是 | 指示与要添加的键关联的值。 |
Z
zengyawen 已提交
881

Z
zengyawen 已提交
882
**返回值:**
883 884 885
| 类型 | 说明 |
| -------- | -------- |
| V | 返回与添加的键关联的值;如果要添加的键已经存在,则返回原始值,如果键或值为空,则抛出此异常。 |
Z
zengyawen 已提交
886

Z
zengyawen 已提交
887
**示例:**
888
  ```js
Z
zengyawen 已提交
889 890 891 892 893 894 895
  var pro = new util.LruBuffer();
  var result = pro.put(2,10);
  ```


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

X
xdmal 已提交
896
values(): V[]
Z
zengyawen 已提交
897 898 899

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

Z
zengyawen 已提交
900 901 902
**系统能力:** SystemCapability.Utils.Lang

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

Z
zengyawen 已提交
907
**示例:**
908
  ```js
Z
zengyawen 已提交
909 910 911 912 913 914 915 916 917 918
  var pro = new util.LruBuffer();
  pro.put(2,10);
  pro.put(2,"anhu");
  pro.put("afaf","grfb");
  var result = pro.values();
  ```


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

X
xdmal 已提交
919
keys(): K[]
Z
zengyawen 已提交
920 921 922

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

Z
zengyawen 已提交
923 924 925
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
926 927 928
| 类型 | 说明 |
| -------- | -------- |
| K&nbsp;[] | 按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。 |
Z
zengyawen 已提交
929

Z
zengyawen 已提交
930
**示例:**
931
  ```js
Z
zengyawen 已提交
932 933 934 935 936 937 938 939
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro.keys();
  ```


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

X
xdmal 已提交
940
remove(key: K): V | undefined
Z
zengyawen 已提交
941 942 943

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

Z
zengyawen 已提交
944 945 946
**系统能力:** SystemCapability.Utils.Lang

**参数:**
947 948 949
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 要删除的密钥。 |
Z
zengyawen 已提交
950

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

Z
zengyawen 已提交
956
**示例:**
957
  ```js
Z
zengyawen 已提交
958 959 960 961 962 963 964 965
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro.remove(20);
  ```


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

X
xdmal 已提交
966
afterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void
Z
zengyawen 已提交
967 968 969

删除值后执行后续操作。

Z
zengyawen 已提交
970 971 972
**系统能力:** SystemCapability.Utils.Lang

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

Z
zengyawen 已提交
980
**示例:**
981
  ```js
Z
zengyawen 已提交
982 983 984 985 986 987 988 989 990 991 992 993 994 995 996
  var arr = [];
  class ChildLruBuffer extends util.LruBuffer
  {
  	constructor()
  	{
  		super();
  	}
  	afterRemoval(isEvict, key, value, newValue)
  	{
  		if (isEvict === false)
  		{
  			arr = [key, value, newValue];
  		}
  	}
  }
S
shikai-123 已提交
997 998
  var lru = new ChildLruBuffer();
  lru.afterRemoval(false,10,30,null);
Z
zengyawen 已提交
999 1000 1001 1002 1003
  ```


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

X
xdmal 已提交
1004
contains(key: K): boolean
Z
zengyawen 已提交
1005 1006 1007

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

Z
zengyawen 已提交
1008 1009 1010
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1011 1012 1013
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 表示要检查的键。 |
Z
zengyawen 已提交
1014

Z
zengyawen 已提交
1015
**返回值:**
1016 1017 1018
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果缓冲区包含指定的键,则返回&nbsp;true。 |
Z
zengyawen 已提交
1019

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


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

X
xdmal 已提交
1030
createDefault(key: K): V
Z
zengyawen 已提交
1031 1032 1033

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

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

**参数:**
1037 1038 1039
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| key | K | 是 | 表示丢失的键。 |
Z
zengyawen 已提交
1040

Z
zengyawen 已提交
1041
**返回值:**
1042 1043 1044
| 类型 | 说明 |
| -------- | -------- |
| V | 返回与键关联的值。 |
Z
zengyawen 已提交
1045

Z
zengyawen 已提交
1046
**示例:**
1047
  ```js
Z
zengyawen 已提交
1048 1049 1050 1051 1052 1053 1054
  var pro = new util.LruBuffer();
  var result = pro.createDefault(50);
  ```


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

X
xdmal 已提交
1055
entries(): IterableIterator&lt;[K,V]&gt;
Z
zengyawen 已提交
1056 1057 1058

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

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

**返回值:**
1062 1063 1064
| 类型 | 说明 |
| -------- | -------- |
| [K,&nbsp;V] | 返回一个可迭代数组。 |
Z
zengyawen 已提交
1065

Z
zengyawen 已提交
1066
**示例:**
1067
  ```js
Z
zengyawen 已提交
1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079
  var pro = new util.LruBuffer();
  pro.put(2,10);
  var result = pro.entries();
  ```


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

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

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

Z
zengyawen 已提交
1080 1081 1082
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1083 1084 1085
| 类型 | 说明 |
| -------- | -------- |
| [K,&nbsp;V] | 返回一个键值对形式的二维数组。 |
Z
zengyawen 已提交
1086

Z
zengyawen 已提交
1087
**示例:**
1088
  ```js
Z
zengyawen 已提交
1089 1090
  var pro = new util.LruBuffer();
  pro.put(2,10);
S
shikai-123 已提交
1091
  var result = pro[Symbol.iterator]();
Z
zengyawen 已提交
1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102
  ```


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


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

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

ScopeComparable类型的值需要实现compareTo方法,确保传入的数据具有可比性。
1103
```js
Z
zengyawen 已提交
1104
interface ScopeComparable{
X
xdmal 已提交
1105
    compareTo(other: ScopeComparable): boolean;
Z
zengyawen 已提交
1106 1107 1108 1109 1110 1111 1112 1113 1114
}
type ScopeType = ScopeComparable | number;
```


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


示例:
1115
```js
Z
zengyawen 已提交
1116 1117
class Temperature{
    constructor(value){
Z
zengyawen 已提交
1118 1119
       // 当使用ts语言开发时,需要补充以下代码:
       // private readonly _temp: Temperature;
Z
zengyawen 已提交
1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136
       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 已提交
1137
constructor(lowerObj: ScopeType, upperObj: ScopeType)
Z
zengyawen 已提交
1138 1139 1140

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

Z
zengyawen 已提交
1141 1142 1143
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1144 1145 1146 1147
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| lowerObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的上限。 |
Z
zengyawen 已提交
1148

Z
zengyawen 已提交
1149
**示例:**
1150
  ```js
Z
zengyawen 已提交
1151 1152 1153 1154 1155 1156 1157 1158
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var range = new util.Scope(tempLower, tempUpper);
  ```


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

X
xdmal 已提交
1159
toString(): string
Z
zengyawen 已提交
1160 1161 1162

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

Z
zengyawen 已提交
1163 1164 1165
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1166 1167 1168
| 类型 | 说明 |
| -------- | -------- |
| string | 返回包含当前范围对象的字符串表示形式。 |
Z
zengyawen 已提交
1169

Z
zengyawen 已提交
1170
**示例:**
1171
  ```js
Z
zengyawen 已提交
1172 1173 1174 1175 1176 1177 1178 1179 1180
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var range = new util.Scope(tempLower, tempUpper);
  var result = range.toString();
  ```


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

X
xdmal 已提交
1181
intersect(range: Scope): Scope
Z
zengyawen 已提交
1182 1183 1184

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

Z
zengyawen 已提交
1185 1186 1187
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1188 1189 1190
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| range | [Scope](#scope8) | 是 | 传入一个给定范围。 |
Z
zengyawen 已提交
1191

Z
zengyawen 已提交
1192
**返回值:**
1193 1194 1195
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回给定范围和当前范围的交集。 |
Z
zengyawen 已提交
1196

Z
zengyawen 已提交
1197
**示例:**
1198
  ```js
Z
zengyawen 已提交
1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var range = new util.Scope(tempLower, tempUpper);
  var tempMiDF = new Temperature(35);
  var tempMidS = new Temperature(39);
  var rangeFir = new util.Scope(tempMiDF, tempMidS);
  range.intersect(rangeFir );
  ```


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

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

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

Z
zengyawen 已提交
1215 1216 1217
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1218 1219 1220 1221
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 |
Z
zengyawen 已提交
1222

Z
zengyawen 已提交
1223
**返回值:**
1224 1225 1226
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回当前范围与给定下限和上限范围的交集。 |
Z
zengyawen 已提交
1227

Z
zengyawen 已提交
1228
**示例:**
1229
  ```js
Z
zengyawen 已提交
1230 1231 1232 1233 1234
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var tempMiDF = new Temperature(35);
  var tempMidS = new Temperature(39);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1235
  var result = range.intersect(tempMiDF, tempMidS);
Z
zengyawen 已提交
1236 1237 1238 1239 1240
  ```


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

X
xdmal 已提交
1241
getUpper(): ScopeType
Z
zengyawen 已提交
1242 1243 1244

获取当前范围的上限。

Z
zengyawen 已提交
1245 1246 1247 1248
**系统能力:** SystemCapability.Utils.Lang

**返回值:**

1249 1250 1251
| 类型 | 说明 |
| -------- | -------- |
| [ScopeType](#scopetype8) | 返回当前范围的上限值。 |
Z
zengyawen 已提交
1252

Z
zengyawen 已提交
1253
**示例:**
1254
  ```js
Z
zengyawen 已提交
1255 1256 1257
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1258
  var result = range.getUpper();
Z
zengyawen 已提交
1259 1260 1261 1262 1263
  ```


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

X
xdmal 已提交
1264
getLower(): ScopeType
Z
zengyawen 已提交
1265 1266 1267

获取当前范围的下限。

Z
zengyawen 已提交
1268 1269 1270
**系统能力:** SystemCapability.Utils.Lang

**返回值:**
1271 1272 1273
| 类型 | 说明 |
| -------- | -------- |
| [ScopeType](#scopetype8) | 返回当前范围的下限值。 |
Z
zengyawen 已提交
1274

Z
zengyawen 已提交
1275
**示例:**
1276
  ```js
Z
zengyawen 已提交
1277 1278 1279
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1280
  var result = range.getLower();
Z
zengyawen 已提交
1281 1282 1283 1284 1285
  ```


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

X
xdmal 已提交
1286
expand(lowerObj: ScopeType,upperObj: ScopeType): Scope
Z
zengyawen 已提交
1287 1288 1289

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

Z
zengyawen 已提交
1290 1291 1292
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1293 1294 1295 1296
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 |
| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 |
Z
zengyawen 已提交
1297

Z
zengyawen 已提交
1298
**返回值:**
1299 1300 1301
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回当前范围和给定下限和上限的并集。 |
Z
zengyawen 已提交
1302

Z
zengyawen 已提交
1303
**示例:**
1304 1305

  ```js
Z
zengyawen 已提交
1306 1307 1308 1309 1310
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var tempMiDF = new Temperature(35);
  var tempMidS = new Temperature(39);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1311
  var result = range.expand(tempMiDF, tempMidS);
Z
zengyawen 已提交
1312 1313 1314 1315 1316
  ```


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

X
xdmal 已提交
1317
expand(range: Scope): Scope
Z
zengyawen 已提交
1318 1319 1320

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

Z
zengyawen 已提交
1321 1322 1323
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1324 1325 1326
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| range | [Scope](#scope8) | 是 | 传入一个给定范围。 |
Z
zengyawen 已提交
1327

Z
zengyawen 已提交
1328
**返回值:**
1329 1330 1331
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回包括当前范围和给定范围的并集。 |
Z
zengyawen 已提交
1332

Z
zengyawen 已提交
1333
**示例:**
1334
  ```js
Z
zengyawen 已提交
1335 1336 1337 1338 1339 1340
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var tempMiDF = new Temperature(35);
  var tempMidS = new Temperature(39);
  var range = new util.Scope(tempLower, tempUpper);
  var rangeFir = new util.Scope(tempMiDF, tempMidS);
Z
zengyawen 已提交
1341
  var result = range.expand(rangeFir);
Z
zengyawen 已提交
1342 1343 1344 1345 1346
  ```


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

X
xdmal 已提交
1347
expand(value: ScopeType): Scope
Z
zengyawen 已提交
1348 1349 1350

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

Z
zengyawen 已提交
1351 1352 1353
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1354 1355 1356
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 |
Z
zengyawen 已提交
1357

Z
zengyawen 已提交
1358
**返回值:**
1359 1360 1361
| 类型 | 说明 |
| -------- | -------- |
| [Scope](#scope8) | 返回包括当前范围和给定值的并集。 |
Z
zengyawen 已提交
1362

Z
zengyawen 已提交
1363
**示例:**
1364
  ```js
Z
zengyawen 已提交
1365 1366 1367 1368
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var tempMiDF = new Temperature(35);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1369
  var result = range.expand(tempMiDF);
Z
zengyawen 已提交
1370 1371 1372 1373 1374
  ```


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

X
xdmal 已提交
1375
contains(value: ScopeType): boolean
Z
zengyawen 已提交
1376 1377 1378

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

Z
zengyawen 已提交
1379 1380 1381
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1382 1383 1384
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 |
Z
zengyawen 已提交
1385

Z
zengyawen 已提交
1386
**返回值:**
1387 1388 1389
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果给定值包含在当前范围内返回true,否则返回false。 |
Z
zengyawen 已提交
1390

Z
zengyawen 已提交
1391
**示例:**
1392
  ```js
Z
zengyawen 已提交
1393 1394 1395 1396
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var tempMiDF = new Temperature(35);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1397
  range.contains(tempMiDF);
Z
zengyawen 已提交
1398 1399 1400 1401 1402
  ```


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

X
xdmal 已提交
1403
contains(range: Scope): boolean
Z
zengyawen 已提交
1404 1405 1406

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

Z
zengyawen 已提交
1407 1408 1409
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1410 1411 1412
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| range | [Scope](#scope8) | 是 | 传入一个给定范围。 |
Z
zengyawen 已提交
1413

Z
zengyawen 已提交
1414
**返回值:**
1415 1416 1417
| 类型 | 说明 |
| -------- | -------- |
| boolean | 如果给定范围包含在当前范围内返回true,否则返回false。 |
Z
zengyawen 已提交
1418

Z
zengyawen 已提交
1419
**示例:**
1420
  ```js
Z
zengyawen 已提交
1421 1422 1423 1424 1425 1426
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var range = new util.Scope(tempLower, tempUpper);
  var tempLess = new Temperature(20);
  var tempMore = new Temperature(45);
  var rangeSec = new util.Scope(tempLess, tempMore);
Z
zengyawen 已提交
1427
  var result = range.contains(rangeSec);
Z
zengyawen 已提交
1428 1429 1430 1431 1432
  ```


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

X
xdmal 已提交
1433
clamp(value: ScopeType): ScopeType
Z
zengyawen 已提交
1434 1435 1436

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

Z
zengyawen 已提交
1437 1438 1439
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1440 1441 1442
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | [ScopeType](#scopetype8) | 是 | 传入的给定值。 |
Z
zengyawen 已提交
1443

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

Z
zengyawen 已提交
1449
**示例:**
1450
  ```js
Z
zengyawen 已提交
1451 1452 1453 1454
  var tempLower = new Temperature(30);
  var tempUpper = new Temperature(40);
  var tempMiDF = new Temperature(35);
  var range = new util.Scope(tempLower, tempUpper);
Z
zengyawen 已提交
1455
  var result = range.clamp(tempMiDF);
Z
zengyawen 已提交
1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467
  ```


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


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

constructor()

Base64的构造函数。

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

**示例:**
1471
  ```js
Z
zengyawen 已提交
1472
  var base64 = new  util.Base64();
Z
zengyawen 已提交
1473 1474 1475 1476 1477
  ```


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

X
xdmal 已提交
1478
encodeSync(src: Uint8Array): Uint8Array
Z
zengyawen 已提交
1479 1480 1481

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

Z
zengyawen 已提交
1482 1483 1484
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1485 1486 1487
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array | 是 | 编码输入Uint8数组。 |
Z
zengyawen 已提交
1488

Z
zengyawen 已提交
1489
**返回值:**
1490 1491 1492
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回编码后新分配的Uint8数组。 |
Z
zengyawen 已提交
1493

Z
zengyawen 已提交
1494
**示例:**
1495
  ```js
Z
zengyawen 已提交
1496 1497 1498 1499 1500 1501 1502 1503
  var that = new util.Base64();
  var array = new Uint8Array([115,49,51]);
  var result = that.encodeSync(array);
  ```


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

X
xdmal 已提交
1504
encodeToStringSync(src: Uint8Array): string
Z
zengyawen 已提交
1505 1506 1507

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

Z
zengyawen 已提交
1508 1509 1510
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1511 1512 1513
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array | 是 | 编码输入Uint8数组。 |
Z
zengyawen 已提交
1514

Z
zengyawen 已提交
1515
**返回值:**
1516 1517 1518
| 类型 | 说明 |
| -------- | -------- |
| string | 返回编码后的字符串。 |
Z
zengyawen 已提交
1519

Z
zengyawen 已提交
1520
**示例:**
1521
  ```js
Z
zengyawen 已提交
1522 1523 1524 1525 1526 1527 1528 1529
  var that = new util.Base64();
  var array = new Uint8Array([115,49,51]);
  var result = that.encodeToStringSync(array);
  ```


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

X
xdmal 已提交
1530
decodeSync(src: Uint8Array | string): Uint8Array
Z
zengyawen 已提交
1531 1532 1533

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

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

**参数:**
1537 1538 1539
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array&nbsp;\|&nbsp;string | 是 | 解码输入Uint8数组或者字符串。 |
Z
zengyawen 已提交
1540

Z
zengyawen 已提交
1541
**返回值:**
1542 1543 1544
| 类型 | 说明 |
| -------- | -------- |
| Uint8Array | 返回解码后新分配的Uint8数组。 |
Z
zengyawen 已提交
1545

Z
zengyawen 已提交
1546
**示例:**
1547
  ```js
Z
zengyawen 已提交
1548 1549 1550 1551 1552 1553 1554 1555
  var that = new util.Base64();
  var buff = 'czEz';
  var result = that.decodeSync(buff);
  ```


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

X
xdmal 已提交
1556
encode(src: Uint8Array): Promise&lt;Uint8Array&gt;
Z
zengyawen 已提交
1557 1558 1559

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

Z
zengyawen 已提交
1560 1561 1562
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1563 1564 1565
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array | 是 | 异步编码输入Uint8数组。 |
Z
zengyawen 已提交
1566

Z
zengyawen 已提交
1567
**返回值:**
1568 1569 1570
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Uint8Array&gt; | 返回异步编码后新分配的Uint8数组。 |
Z
zengyawen 已提交
1571

Z
zengyawen 已提交
1572
**示例:**
1573
  ```js
Z
zengyawen 已提交
1574 1575 1576
  var that = new util.Base64();
  var array = new Uint8Array([115,49,51]);
  var rarray = new Uint8Array([99,122,69,122]);
Z
zengyawen 已提交
1577
  that.encode(array).then(val=>{    
Z
zengyawen 已提交
1578
      for (var i = 0; i < rarray.length; i++) {        
S
shikai-123 已提交
1579
          console.log(val[i].toString())
Z
zengyawen 已提交
1580 1581 1582 1583 1584 1585 1586
      }
  })
  ```


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

X
xdmal 已提交
1587
encodeToString(src: Uint8Array): Promise&lt;string&gt;
Z
zengyawen 已提交
1588 1589 1590

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

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

**参数:**
1594 1595 1596
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array | 是 | 异步编码输入Uint8数组。 |
Z
zengyawen 已提交
1597

Z
zengyawen 已提交
1598
**返回值:**
1599 1600 1601
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;string&gt; | 返回异步编码后的字符串。 |
Z
zengyawen 已提交
1602

Z
zengyawen 已提交
1603
**示例:**
1604
  ```js
Z
zengyawen 已提交
1605 1606
  var that = new util.Base64();
  var array = new Uint8Array([115,49,51]);
Z
zengyawen 已提交
1607
  that.encodeToString(array).then(val=>{    
Z
zengyawen 已提交
1608
      console.log(val)
Z
zengyawen 已提交
1609 1610 1611 1612 1613 1614
  })
  ```


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

X
xdmal 已提交
1615
decode(src: Uint8Array | string): Promise&lt;Uint8Array&gt;
Z
zengyawen 已提交
1616 1617 1618

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

Z
zengyawen 已提交
1619 1620 1621
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1622 1623 1624
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| src | Uint8Array&nbsp;\|&nbsp;string | 是 | 异步解码输入Uint8数组或者字符串。 |
Z
zengyawen 已提交
1625

Z
zengyawen 已提交
1626
**返回值:**
1627 1628 1629
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;Uint8Array&gt; | 返回异步解码后新分配的Uint8数组。 |
Z
zengyawen 已提交
1630

Z
zengyawen 已提交
1631
**示例:**
1632
  ```js
Z
zengyawen 已提交
1633 1634 1635
  var that = new util.Base64();
  var array = new Uint8Array([99,122,69,122]);
  var rarray = new Uint8Array([115,49,51]);
Z
zengyawen 已提交
1636
  that.decode(array).then(val=>{    
Z
zengyawen 已提交
1637
      for (var i = 0; i < rarray.length; i++) {        
S
shikai-123 已提交
1638
          console.log(val[i].toString())
Z
zengyawen 已提交
1639 1640 1641 1642 1643
      }
  })
  ```


1644
## types<sup>8+</sup>
Z
zengyawen 已提交
1645 1646 1647 1648 1649 1650 1651 1652


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

constructor()

Types的构造函数。

Z
zengyawen 已提交
1653 1654 1655
**系统能力:** SystemCapability.Utils.Lang

**示例:**
1656
  ```js
1657
  var type = new util.types();
Z
zengyawen 已提交
1658 1659 1660 1661 1662
  ```


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

X
xdmal 已提交
1663
isAnyArrayBuffer(value: Object): boolean
Z
zengyawen 已提交
1664 1665 1666

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

Z
zengyawen 已提交
1667 1668 1669
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1670 1671 1672
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1673

Z
zengyawen 已提交
1674
**返回值:**
1675 1676 1677
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是ArrayBuffer类型为true,反之为false。 |
Z
zengyawen 已提交
1678

Z
zengyawen 已提交
1679
**示例:**
1680
  ```js
1681
  var that = new util.types();
S
shikai-123 已提交
1682
  var result = that.isAnyArrayBuffer(new ArrayBuffer(0));
Z
zengyawen 已提交
1683 1684 1685 1686 1687
  ```


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

X
xdmal 已提交
1688
isArrayBufferView(value: Object): boolean
Z
zengyawen 已提交
1689 1690 1691

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

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

Z
zengyawen 已提交
1694 1695 1696
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1697 1698 1699
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1700

Z
zengyawen 已提交
1701
**返回值:**
1702 1703 1704
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的ArrayBufferView辅助类型为true,反之为false。 |
Z
zengyawen 已提交
1705

Z
zengyawen 已提交
1706
**示例:**
1707
  ```js
1708
  var that = new util.types();
Z
zengyawen 已提交
1709 1710 1711 1712 1713 1714
  var result = that.isArrayBufferView(new Int8Array([]));
  ```


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

X
xdmal 已提交
1715
isArgumentsObject(value: Object): boolean
Z
zengyawen 已提交
1716 1717 1718

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

Z
zengyawen 已提交
1719 1720 1721
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1722 1723 1724
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1725

Z
zengyawen 已提交
1726
**返回值:**
1727 1728 1729
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的arguments类型为true,反之为false。 |
Z
zengyawen 已提交
1730

Z
zengyawen 已提交
1731
**示例:**
1732
  ```js
1733
  var that = new util.types();
Z
zengyawen 已提交
1734 1735 1736 1737 1738 1739 1740 1741 1742
  function foo() {
      var result = that.isArgumentsObject(arguments);
  }
  var f = foo();
  ```


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

X
xdmal 已提交
1743
isArrayBuffer(value: Object): boolean
Z
zengyawen 已提交
1744

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

Z
zengyawen 已提交
1747 1748 1749
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1750 1751 1752
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1753

Z
zengyawen 已提交
1754
**返回值:**
1755 1756 1757
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的ArrayBuffer类型为true,反之为false。 |
Z
zengyawen 已提交
1758

Z
zengyawen 已提交
1759
**示例:**
1760
  ```js
1761
  var that = new util.types();
S
shikai-123 已提交
1762
  var result = that.isArrayBuffer(new ArrayBuffer(0));
Z
zengyawen 已提交
1763 1764 1765 1766 1767
  ```


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

X
xdmal 已提交
1768
isAsyncFunction(value: Object): boolean
Z
zengyawen 已提交
1769 1770 1771

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

Z
zengyawen 已提交
1772 1773 1774
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1775 1776 1777
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1778

Z
zengyawen 已提交
1779
**返回值:**
1780 1781 1782
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的异步函数类型为true,反之为false。 |
Z
zengyawen 已提交
1783

Z
zengyawen 已提交
1784
**示例:**
1785
  ```js
1786
  var that = new util.types();
Z
zengyawen 已提交
1787 1788 1789 1790 1791 1792
  var result = that.isAsyncFunction(async function foo() {});
  ```


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

X
xdmal 已提交
1793
isBooleanObject(value: Object): boolean
Z
zengyawen 已提交
1794 1795 1796

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

Z
zengyawen 已提交
1797 1798 1799
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1800 1801 1802
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1803

Z
zengyawen 已提交
1804
**返回值:**
1805 1806 1807
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Boolean对象类型为true,反之为false。 |
Z
zengyawen 已提交
1808

Z
zengyawen 已提交
1809
**示例:**
1810
  ```js
1811
  var that = new util.types();
Z
zengyawen 已提交
1812 1813 1814 1815 1816 1817
  var result = that.isBooleanObject(new Boolean(true));
  ```


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

X
xdmal 已提交
1818
isBoxedPrimitive(value: Object): boolean
Z
zengyawen 已提交
1819 1820 1821

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

Z
zengyawen 已提交
1822 1823 1824
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1825 1826 1827
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1828

Z
zengyawen 已提交
1829
**返回值:**
1830 1831 1832
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Boolean或Number或String或Symbol对象类型为true,反之为false。 |
Z
zengyawen 已提交
1833

Z
zengyawen 已提交
1834
**示例:**
1835
  ```js
1836
  var that = new util.types();
Z
zengyawen 已提交
1837 1838 1839 1840 1841 1842
  var result = that.isBoxedPrimitive(new Boolean(false));
  ```


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

X
xdmal 已提交
1843
isDataView(value: Object): boolean
Z
zengyawen 已提交
1844 1845 1846

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

Z
zengyawen 已提交
1847 1848 1849
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1850 1851 1852
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1853

Z
zengyawen 已提交
1854
**返回值:**
1855 1856 1857
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的DataView对象类型为true,反之为false。 |
Z
zengyawen 已提交
1858

Z
zengyawen 已提交
1859
**示例:**
1860
  ```js
1861
  var that = new util.types();
Z
zengyawen 已提交
1862 1863 1864 1865 1866 1867 1868
  const ab = new ArrayBuffer(20);
  var result = that.isDataView(new DataView(ab));
  ```


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

X
xdmal 已提交
1869
isDate(value: Object): boolean
Z
zengyawen 已提交
1870 1871 1872

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

Z
zengyawen 已提交
1873 1874 1875
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1876 1877 1878
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1879

Z
zengyawen 已提交
1880
**返回值:**
1881 1882 1883
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Date对象类型为true,反之为false。 |
Z
zengyawen 已提交
1884

Z
zengyawen 已提交
1885
**示例:**
1886
  ```js
1887
  var that = new util.types();
Z
zengyawen 已提交
1888 1889 1890 1891 1892 1893
  var result = that.isDate(new Date());
  ```


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

X
xdmal 已提交
1894
isExternal(value: Object): boolean
Z
zengyawen 已提交
1895 1896 1897

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

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

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

Z
zengyawen 已提交
1905
**返回值:**
1906 1907 1908
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含native&nbsp;External类型为true,反之为false。 |
Z
zengyawen 已提交
1909

Z
zengyawen 已提交
1910
**示例:**
1911
  ```js
1912
  var that = new util.types();
S
shikai-123 已提交
1913
  var result = that.isExternal(true);
Z
zengyawen 已提交
1914 1915 1916 1917 1918
  ```


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

X
xdmal 已提交
1919
isFloat32Array(value: Object): boolean
Z
zengyawen 已提交
1920 1921 1922

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

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

**参数:**
1926 1927 1928
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1929

Z
zengyawen 已提交
1930
**返回值:**
1931 1932 1933
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Float32Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
1934

Z
zengyawen 已提交
1935
**示例:**
1936
  ```js
1937
  var that = new util.types();
Z
zengyawen 已提交
1938 1939 1940 1941 1942 1943
  var result = that.isFloat32Array(new Float32Array());
  ```


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

X
xdmal 已提交
1944
isFloat64Array(value: Object): boolean
Z
zengyawen 已提交
1945 1946 1947

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

Z
zengyawen 已提交
1948 1949 1950
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1951 1952 1953
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1954

Z
zengyawen 已提交
1955
**返回值:**
1956 1957 1958
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Float64Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
1959

Z
zengyawen 已提交
1960
**示例:**
1961
  ```js
1962
  var that = new util.types();
Z
zengyawen 已提交
1963 1964 1965 1966 1967 1968
  var result = that.isFloat64Array(new Float64Array());
  ```


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

X
xdmal 已提交
1969
isGeneratorFunction(value: Object): boolean
Z
zengyawen 已提交
1970 1971 1972

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

Z
zengyawen 已提交
1973 1974 1975
**系统能力:** SystemCapability.Utils.Lang

**参数:**
1976 1977 1978
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
1979

Z
zengyawen 已提交
1980
**返回值:**
1981 1982 1983
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的generator函数类型为true,反之为false。 |
Z
zengyawen 已提交
1984

Z
zengyawen 已提交
1985
**示例:**
1986
  ```js
1987
  var that = new util.types();
Z
zengyawen 已提交
1988 1989 1990 1991 1992 1993
  var result = that.isGeneratorFunction(function* foo() {});
  ```


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

X
xdmal 已提交
1994
isGeneratorObject(value: Object): boolean
Z
zengyawen 已提交
1995 1996 1997

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

Z
zengyawen 已提交
1998 1999 2000
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2001 2002 2003
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2004

Z
zengyawen 已提交
2005
**返回值:**
2006 2007 2008
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的generator对象类型为true,反之为false。 |
Z
zengyawen 已提交
2009

Z
zengyawen 已提交
2010
**示例:**
2011
  ```js
2012
  var that = new util.types();
Z
zengyawen 已提交
2013 2014 2015 2016 2017 2018 2019 2020
  function* foo() {}
  const generator = foo();
  var result = that.isGeneratorObject(generator);
  ```


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

X
xdmal 已提交
2021
isInt8Array(value: Object): boolean
Z
zengyawen 已提交
2022 2023 2024

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

Z
zengyawen 已提交
2025 2026 2027
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2028 2029 2030
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2031

Z
zengyawen 已提交
2032
**返回值:**
2033 2034 2035
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Int8Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2036

Z
zengyawen 已提交
2037
**示例:**
2038
  ```js
2039
  var that = new util.types();
Z
zengyawen 已提交
2040 2041 2042 2043 2044 2045
  var result = that.isInt8Array(new Int8Array([]));
  ```


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

X
xdmal 已提交
2046
isInt16Array(value: Object): boolean
Z
zengyawen 已提交
2047 2048 2049

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

Z
zengyawen 已提交
2050 2051 2052
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2053 2054 2055
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2056

Z
zengyawen 已提交
2057
**返回值:**
2058 2059 2060
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Int16Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2061

Z
zengyawen 已提交
2062
**示例:**
2063
  ```js
2064
  var that = new util.types();
Z
zengyawen 已提交
2065 2066 2067 2068 2069 2070
  var result = that.isInt16Array(new Int16Array([]));
  ```


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

X
xdmal 已提交
2071
isInt32Array(value: Object): boolean
Z
zengyawen 已提交
2072 2073 2074

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

Z
zengyawen 已提交
2075 2076 2077
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2078 2079 2080
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2081

Z
zengyawen 已提交
2082
**返回值:**
2083 2084 2085
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Int32Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2086

Z
zengyawen 已提交
2087
**示例:**
2088
  ```js
2089
  var that = new util.types();
Z
zengyawen 已提交
2090 2091 2092 2093 2094 2095
  var result = that.isInt32Array(new Int32Array([]));
  ```


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

X
xdmal 已提交
2096
isMap(value: Object): boolean
Z
zengyawen 已提交
2097 2098 2099

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

Z
zengyawen 已提交
2100 2101 2102
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2103 2104 2105
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2106

Z
zengyawen 已提交
2107
**返回值:**
2108 2109 2110
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Map类型为true,反之为false。 |
Z
zengyawen 已提交
2111

Z
zengyawen 已提交
2112
**示例:**
2113
  ```js
2114
  var that = new util.types();
Z
zengyawen 已提交
2115 2116 2117 2118 2119 2120
  var result = that.isMap(new Map());
  ```


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

X
xdmal 已提交
2121
isMapIterator(value: Object): boolean
Z
zengyawen 已提交
2122 2123 2124

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

Z
zengyawen 已提交
2125 2126 2127
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2128 2129 2130
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2131

Z
zengyawen 已提交
2132
**返回值:**
2133 2134 2135
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Map的Iterator类型为true,反之为false。 |
Z
zengyawen 已提交
2136

Z
zengyawen 已提交
2137
**示例:**
2138
  ```js
2139
  var that = new util.types();
Z
zengyawen 已提交
2140 2141 2142 2143 2144 2145 2146
  const map = new Map();
  var result = that.isMapIterator(map.keys());
  ```


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

X
xdmal 已提交
2147
isNativeError(value: Object): boolean
Z
zengyawen 已提交
2148 2149 2150

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

Z
zengyawen 已提交
2151 2152 2153
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2154 2155 2156
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2157

Z
zengyawen 已提交
2158
**返回值:**
2159 2160 2161
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Error类型为true,反之为false。 |
Z
zengyawen 已提交
2162

Z
zengyawen 已提交
2163
**示例:**
2164
  ```js
2165
  var that = new util.types();
Z
zengyawen 已提交
2166 2167 2168 2169 2170 2171
  var result = that.isNativeError(new TypeError());
  ```


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

X
xdmal 已提交
2172
isNumberObject(value: Object): boolean
Z
zengyawen 已提交
2173 2174 2175

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

Z
zengyawen 已提交
2176 2177 2178
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2179 2180 2181
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2182

Z
zengyawen 已提交
2183
**返回值:**
2184 2185 2186
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Number对象类型为true,反之为false。 |
Z
zengyawen 已提交
2187

Z
zengyawen 已提交
2188
**示例:**
2189
  ```js
2190
  var that = new util.types();
Z
zengyawen 已提交
2191 2192 2193 2194 2195 2196
  var result = that.isNumberObject(new Number(0));
  ```


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

X
xdmal 已提交
2197
isPromise(value: Object): boolean
Z
zengyawen 已提交
2198 2199 2200

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

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

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

Z
zengyawen 已提交
2208
**返回值:**
2209 2210 2211
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Promise类型为true,反之为false。 |
Z
zengyawen 已提交
2212

Z
zengyawen 已提交
2213
**示例:**
2214
  ```js
2215
  var that = new util.types();
Z
zengyawen 已提交
2216 2217 2218 2219 2220 2221
  var result = that.isPromise(Promise.resolve(1));
  ```


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

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

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

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

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

Z
zengyawen 已提交
2233
**返回值:**
2234 2235 2236
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Proxy类型为true,反之为false。 |
Z
zengyawen 已提交
2237

Z
zengyawen 已提交
2238
**示例:**
2239
  ```js
2240
  var that = new util.types();
Z
zengyawen 已提交
2241 2242 2243 2244 2245 2246 2247 2248
  const target = {};
  const proxy = new Proxy(target, {});
  var result = that.isProxy(proxy);
  ```


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

X
xdmal 已提交
2249
isRegExp(value: Object): boolean
Z
zengyawen 已提交
2250 2251 2252

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

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

**参数:**
2256 2257 2258
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2259

Z
zengyawen 已提交
2260
**返回值:**
2261 2262 2263
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的RegExp类型为true,反之为false。 |
Z
zengyawen 已提交
2264

Z
zengyawen 已提交
2265
**示例:**
2266
  ```js
2267
  var that = new util.types();
Z
zengyawen 已提交
2268 2269 2270 2271 2272 2273
  var result = that.isRegExp(new RegExp('abc'));
  ```


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

X
xdmal 已提交
2274
isSet(value: Object): boolean
Z
zengyawen 已提交
2275 2276 2277

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

Z
zengyawen 已提交
2278 2279 2280
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2281 2282 2283
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2284

Z
zengyawen 已提交
2285
**返回值:**
2286 2287 2288
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Set类型为true,反之为false。 |
Z
zengyawen 已提交
2289

Z
zengyawen 已提交
2290
**示例:**
2291
  ```js
2292
  var that = new util.types();
Z
zengyawen 已提交
2293 2294 2295 2296 2297 2298
  var result = that.isSet(new Set());
  ```


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

X
xdmal 已提交
2299
isSetIterator(value: Object): boolean
Z
zengyawen 已提交
2300 2301 2302

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

Z
zengyawen 已提交
2303 2304 2305
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2306 2307 2308
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2309

Z
zengyawen 已提交
2310
**返回值:**
2311 2312 2313
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Set的Iterator类型为true,反之为false。 |
Z
zengyawen 已提交
2314

Z
zengyawen 已提交
2315
**示例:**
2316
  ```js
2317
  var that = new util.types();
Z
zengyawen 已提交
2318 2319 2320 2321 2322 2323 2324
  const set = new Set();
  var result = that.isSetIterator(set.keys());
  ```


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

X
xdmal 已提交
2325
isStringObject(value: Object): boolean
Z
zengyawen 已提交
2326 2327 2328

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

Z
zengyawen 已提交
2329 2330 2331
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2332 2333 2334
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2335

Z
zengyawen 已提交
2336
**返回值:**
2337 2338 2339
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的String对象类型为true,反之为false。 |
Z
zengyawen 已提交
2340

Z
zengyawen 已提交
2341
**示例:**
2342
  ```js
2343
  var that = new util.types();
Z
zengyawen 已提交
2344 2345 2346 2347 2348 2349
  var result = that.isStringObject(new String('foo'));
  ```


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

X
xdmal 已提交
2350
isSymbolObject(value: Object): boolean
Z
zengyawen 已提交
2351 2352 2353

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

Z
zengyawen 已提交
2354 2355 2356
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2357 2358 2359
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2360

Z
zengyawen 已提交
2361
**返回值:**
2362 2363 2364
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Symbol对象类型为true,反之为false。 |
Z
zengyawen 已提交
2365

Z
zengyawen 已提交
2366
**示例:**
2367
  ```js
2368
  var that = new util.types();
Z
zengyawen 已提交
2369 2370 2371 2372 2373 2374 2375
  const symbols = Symbol('foo');
  var result = that.isSymbolObject(Object(symbols));
  ```


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

X
xdmal 已提交
2376
isTypedArray(value: Object): boolean
Z
zengyawen 已提交
2377 2378 2379

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

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

Z
zengyawen 已提交
2382 2383 2384
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2385 2386 2387
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2388

Z
zengyawen 已提交
2389
**返回值:**
2390 2391 2392
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的TypedArray包含的类型为true,反之为false。 |
Z
zengyawen 已提交
2393

Z
zengyawen 已提交
2394
**示例:**
2395
  ```js
2396
  var that = new util.types();
Z
zengyawen 已提交
2397 2398 2399 2400 2401 2402
  var result = that.isTypedArray(new Float64Array([]));
  ```


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

X
xdmal 已提交
2403
isUint8Array(value: Object): boolean
Z
zengyawen 已提交
2404 2405 2406

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

Z
zengyawen 已提交
2407 2408 2409
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2410 2411 2412
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2413

Z
zengyawen 已提交
2414
**返回值:**
2415 2416 2417
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint8Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2418

Z
zengyawen 已提交
2419
**示例:**
2420
  ```js
2421
  var that = new util.types();
Z
zengyawen 已提交
2422 2423 2424 2425 2426 2427
  var result = that.isUint8Array(new Uint8Array([]));
  ```


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

X
xdmal 已提交
2428
isUint8ClampedArray(value: Object): boolean
Z
zengyawen 已提交
2429 2430 2431

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

Z
zengyawen 已提交
2432 2433 2434
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2435 2436 2437
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2438

Z
zengyawen 已提交
2439
**返回值:**
2440 2441 2442
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint8ClampedArray数组类型为true,反之为false。 |
Z
zengyawen 已提交
2443

Z
zengyawen 已提交
2444
**示例:**
2445
  ```js
2446
  var that = new util.types();
Z
zengyawen 已提交
2447 2448 2449 2450 2451 2452
  var result = that.isUint8ClampedArray(new Uint8ClampedArray([]));
  ```


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

X
xdmal 已提交
2453
isUint16Array(value: Object): boolean
Z
zengyawen 已提交
2454 2455 2456

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

Z
zengyawen 已提交
2457 2458 2459
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2460 2461 2462
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2463

Z
zengyawen 已提交
2464
**返回值:**
2465 2466 2467
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint16Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2468

Z
zengyawen 已提交
2469
**示例:**
2470
  ```js
2471
  var that = new util.types();
Z
zengyawen 已提交
2472 2473 2474 2475 2476 2477
  var result = that.isUint16Array(new Uint16Array([]));
  ```


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

X
xdmal 已提交
2478
isUint32Array(value: Object): boolean
Z
zengyawen 已提交
2479 2480 2481

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

Z
zengyawen 已提交
2482 2483 2484
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2485 2486 2487
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2488

Z
zengyawen 已提交
2489
**返回值:**
2490 2491 2492
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的Uint32Array数组类型为true,反之为false。 |
Z
zengyawen 已提交
2493

Z
zengyawen 已提交
2494
**示例:**
2495
  ```js
2496
  var that = new util.types();
Z
zengyawen 已提交
2497 2498 2499 2500 2501 2502
  var result = that.isUint32Array(new Uint32Array([]));
  ```


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

X
xdmal 已提交
2503
isWeakMap(value: Object): boolean
Z
zengyawen 已提交
2504 2505 2506

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

Z
zengyawen 已提交
2507 2508 2509
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2510 2511 2512
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2513

Z
zengyawen 已提交
2514
**返回值:**
2515 2516 2517
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的WeakMap类型为true,反之为false。 |
Z
zengyawen 已提交
2518

Z
zengyawen 已提交
2519
**示例:**
2520
  ```js
2521
  var that = new util.types();
Z
zengyawen 已提交
2522 2523 2524 2525 2526 2527
  var result = that.isWeakMap(new WeakMap());
  ```


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

X
xdmal 已提交
2528
isWeakSet(value: Object): boolean
Z
zengyawen 已提交
2529 2530 2531

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

Z
zengyawen 已提交
2532 2533 2534
**系统能力:** SystemCapability.Utils.Lang

**参数:**
2535 2536 2537
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| value | Object | 是 | 待检测对象。 |
Z
zengyawen 已提交
2538

Z
zengyawen 已提交
2539
**返回值:**
2540 2541 2542
| 类型 | 说明 |
| -------- | -------- |
| boolean | 判断的结果,如果是内置包含的WeakSet类型为true,反之为false。 |
Z
zengyawen 已提交
2543

Z
zengyawen 已提交
2544
**示例:**
2545
  ```js
2546
  var that = new util.types();
Z
zengyawen 已提交
2547 2548
  var result = that.isWeakSet(new WeakSet());
  ```