1# util工具函数 2 3 4>  **说明:** 5> 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 6 7 8该模块主要提供常用的工具函数,实现字符串编解码(TextEncoder,TextDecoder)、有理数运算(RationalNumber)、缓冲区管理(LruBuffer)、范围判断(Scope)、Base64编解码(Base64)、内置对象类型检查(Types)等功能。 9 10 11## 导入模块 12 13``` 14import util from '@ohos.util'; 15``` 16 17## util.printf 18 19printf(format: string, ...args: Object[]): string 20 21通过式样化字符串对输入的内容按特定格式输出。 22 23**系统能力:** SystemCapability.Utils.Lang 24 25**参数:** 26| 参数名 | 类型 | 必填 | 说明 | 27| -------- | -------- | -------- | -------- | 28| format | string | 是 | 式样化字符串。 | 29| ...args | Object[] | 否 | 替换式样化字符串通配符的数据,此参数缺失时,默认返回第一个参数。 | 30 31**返回值:** 32| 类型 | 说明 | 33| -------- | -------- | 34| string | 按特定格式式样化后的字符串。 | 35 36**示例:** 37 ```js 38 var res = util.printf("%s", "hello world!"); 39 console.log(res); 40 ``` 41 42 43## util.getErrorString 44 45getErrorString(errno: number): string 46 47获取系统错误码对应的详细信息。 48 49**系统能力:** SystemCapability.Utils.Lang 50 51**参数:** 52| 参数名 | 类型 | 必填 | 说明 | 53| -------- | -------- | -------- | -------- | 54| errno | number | 是 | 系统发生错误产生的错误码。 | 55 56**返回值:** 57| 类型 | 说明 | 58| -------- | -------- | 59| string | 错误码对应的详细信息。 | 60 61**示例:** 62 ```js 63 var errnum = 10; // 10:a system error number 64 var result = util.getErrorString(errnum); 65 console.log("result = " + result); 66 ``` 67 68 69## util.callbackWrapper 70 71callbackWrapper(original: Function): (err: Object, value: Object )=>void 72 73对异步函数进行回调化处理,回调中第一个参数将是拒绝原因(如果 Promise 已解决,则为 null),第二个参数将是已解决的值。 74 75**系统能力:** SystemCapability.Utils.Lang 76 77**参数:** 78 79| 参数名 | 类型 | 必填 | 说明 | 80| -------- | -------- | -------- | -------- | 81| original | Function | 是 | 异步函数。 | 82 83**返回值:** 84| 类型 | 说明 | 85| -------- | -------- | 86| Function | 返回一个第一个参数是拒绝原因(如果 Promise 已解决,则为 null),第二个参数是已解决的回调函数。 | 87 88**示例:** 89 ```js 90async function fn() { 91 return 'hello world'; 92} 93let cb = util.callbackWrapper(fn); 94cb(1, (err, ret) => { 95 if (err) throw err; 96 console.log(ret); 97}); 98 ``` 99 100 101## util.promiseWrapper 102 103promiseWrapper(original: (err: Object, value: Object) => void): Object 104 105对异步函数处理并返回一个promise的版本。 106 107**系统能力:** SystemCapability.Utils.Lang 108 109**参数:** 110| 参数名 | 类型 | 必填 | 说明 | 111| -------- | -------- | -------- | -------- | 112| original | Function | 是 | 异步函数。 | 113 114**返回值:** 115| 类型 | 说明 | 116| -------- | -------- | 117| Function | 采用遵循常见的错误优先的回调风格的函数(也就是将 (err, value) => ... 回调作为最后一个参数),并返回一个返回 promise 的版本。 | 118 119**示例:** 120 ```js 121 function aysnFun(str1, str2, callback) { 122 if (typeof str1 === 'string' && typeof str2 === 'string') { 123 callback(null, str1 + str2); 124 } else { 125 callback('type err'); 126 } 127 } 128 let newPromiseObj = util.promiseWrapper(aysnFun)("Hello", 'World'); 129 newPromiseObj.then(res => { 130 console.log(res); 131 }) 132 ``` 133 134 135## TextDecoder 136 137### 属性 138 139**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。 140 141| 名称 | 参数类型 | 可读 | 可写 | 说明 | 142| -------- | -------- | -------- | -------- | -------- | 143| encoding | string | 是 | 否 | 编码格式。<br/>- 支持格式:utf-8。 | 144| fatal | boolean | 是 | 否 | 是否显示致命错误。 | 145| ignoreBOM | boolean | 是 | 否 | 是否忽略BOM(byte order marker)标记,默认值为false ,表示解码结果包含BOM标记。 | 146 147 148### constructor 149 150constructor(encoding?: string, options?: { fatal?: boolean; ignoreBOM?: boolean },) 151 152TextDecoder的构造函数。 153 154**系统能力:** SystemCapability.Utils.Lang 155 156**参数:** 157| 参数名 | 类型 | 必填 | 说明 | 158| -------- | -------- | -------- | -------- | 159| encoding | string | 否 | 编码格式。 | 160| options | Object | 否 | 编码相关选项参数,存在两个属性fatal和ignoreBOM。 | 161 162 **表1** options 163 164| 名称 | 参数类型 | 必填 | 说明 | 165| -------- | -------- | -------- | -------- | 166| fatal | boolean | 否 | 是否显示致命错误。 | 167| ignoreBOM | boolean | 否 | 是否忽略BOM标记。 | 168 169**示例:** 170 ```js 171 var textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true}); 172 ``` 173 174 175### decode 176 177decode(input: Uint8Array, options?: { stream?: false }): string 178 179通过输入参数解码后输出对应文本。 180 181**系统能力:** SystemCapability.Utils.Lang 182 183**参数:** 184| 参数名 | 类型 | 必填 | 说明 | 185| -------- | -------- | -------- | -------- | 186| input | Unit8Array | 是 | 符合格式需要解码的数组。 | 187| options | Object | 否 | 解码相关选项参数。 | 188 189 **表2** options 190 191| 名称 | 参数类型 | 必填 | 说明 | 192| -------- | -------- | -------- | -------- | 193| stream | boolean | 否 | 在随后的decode()调用中是否跟随附加数据块。如果以块的形式处理数据,则设置为true;如果处理最后的数据块或数据未分块,则设置为false。默认为false。 | 194 195**返回值:** 196| 类型 | 说明 | 197| -------- | -------- | 198| string | 解码后的数据。 | 199 200**示例:** 201 ```js 202 var textDecoder = new util.TextDecoder("utf-8",{ignoreBOM: true}); 203 var result = new Uint8Array(6); 204 result[0] = 0xEF; 205 result[1] = 0xBB; 206 result[2] = 0xBF; 207 result[3] = 0x61; 208 result[4] = 0x62; 209 result[5] = 0x63; 210 console.log("input num:"); 211 var retStr = textDecoder.decode( result , {stream: false}); 212 console.log("retStr = " + retStr); 213 ``` 214 215 216## TextEncoder 217 218### 属性 219 220**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。 221 222| 名称 | 参数类型 | 可读 | 可写 | 说明 | 223| -------- | -------- | -------- | -------- | -------- | 224| encoding | string | 是 | 否 | 编码格式,默认值是utf-8。 | 225 226 227### constructor 228 229constructor() 230 231TextEncoder的构造函数。 232 233**系统能力:** SystemCapability.Utils.Lang 234 235**示例:** 236 ```js 237 var textEncoder = new util.TextEncoder(); 238 ``` 239 240 241### encode 242 243encode(input?: string): Uint8Array 244 245通过输入参数编码后输出对应文本。 246 247**系统能力:** SystemCapability.Utils.Lang 248 249**参数:** 250| 参数名 | 类型 | 必填 | 说明 | 251| -------- | -------- | -------- | -------- | 252| input | string | 是 | 需要编码的字符串。 | 253 254**返回值:** 255| 类型 | 说明 | 256| -------- | -------- | 257| Uint8Array | 返回编码后的文本。 | 258 259**示例:** 260 ```js 261 var textEncoder = new util.TextEncoder(); 262 var buffer = new ArrayBuffer(20); 263 var result = new Uint8Array(buffer); 264 result = textEncoder.encode("\uD800¥¥"); 265 ``` 266 267 268### encodeInto 269 270encodeInto(input: string, dest: Uint8Array, ): { read: number; written: number } 271 272放置生成的UTF-8编码文本。 273 274**系统能力:** SystemCapability.Utils.Lang 275 276**参数:** 277| 参数名 | 类型 | 必填 | 说明 | 278| -------- | -------- | -------- | -------- | 279| input | string | 是 | 需要编码的字符串。 | 280| dest | Uint8Array | 是 | Uint8Array对象实例,用于将生成的UTF-8编码文本放入其中。 | 281 282**返回值:** 283| 类型 | 说明 | 284| -------- | -------- | 285| Uint8Array | 返回编码后的文本。 | 286 287**示例:** 288 ```js 289 var that = new util.TextEncoder(); 290 var buffer = new ArrayBuffer(4); 291 this.dest = new Uint8Array(buffer); 292 var result = that.encodeInto("abcd", this.dest); 293 ``` 294 295## RationalNumber<sup>8+</sup> 296 297 298### constructor<sup>8+</sup> 299 300constructor(numerator: number,denominator: number) 301 302RationalNumber的构造函数。 303 304**系统能力:** SystemCapability.Utils.Lang 305 306**参数:** 307| 参数名 | 类型 | 必填 | 说明 | 308| -------- | -------- | -------- | -------- | 309| numerator | number | 是 | 分子,整数类型。 | 310| denominator | number | 是 | 分母,整数类型。 | 311 312**示例:** 313 ```js 314 var rationalNumber = new util.RationalNumber(1,2); 315 ``` 316 317 318### createRationalFromString<sup>8+</sup> 319 320static createRationalFromString(rationalString: string): RationalNumber 321 322基于给定的字符串创建一个RationalNumber对象。 323 324**系统能力:** SystemCapability.Utils.Lang 325 326**参数:** 327| 参数名 | 类型 | 必填 | 说明 | 328| -------- | -------- | -------- | -------- | 329| rationalString | string | 是 | 字符串格式。 | 330 331**返回值:** 332| 类型 | 说明 | 333| -------- | -------- | 334| object | 返回有理数类的对象。 | 335 336**示例:** 337 ```js 338 var rationalNumber = new util.RationalNumber(1,2); 339 var rational = rationalNumer.creatRationalFromString("3/4"); 340 ``` 341 342 343### compareTo<sup>8+</sup> 344 345compareTo(another: RationalNumber): number 346 347将当前的RationalNumber对象与给定的对象进行比较。 348 349**系统能力:** SystemCapability.Utils.Lang 350 351**参数:** 352| 参数名 | 类型 | 必填 | 说明 | 353| -------- | -------- | -------- | -------- | 354| another | RationalNumber | 是 | 其他的有理数对象。 | 355 356**返回值:** 357| 类型 | 说明 | 358| -------- | -------- | 359| number | 如果两个对象相等,则返回0;如果给定对象小于当前对象,则返回1;如果给定对象大于当前对象,则返回-1。 | 360 361**示例:** 362 ```js 363 var rationalNumber = new util.RationalNumber(1,2); 364 var rational = rationalNumer.creatRationalFromString("3/4"); 365 var result = rationalNumber.compareTo(rational); 366 ``` 367 368 369### valueOf<sup>8+</sup> 370 371valueOf(): number 372 373以整数形式或者浮点数的形式获取当前RationalNumber对象的值。 374 375**系统能力:** SystemCapability.Utils.Lang 376 377**返回值:** 378| 类型 | 说明 | 379| -------- | -------- | 380| number | 返回整数或者浮点数的值。 | 381 382**示例:** 383 ```js 384 var rationalNumber = new util.RationalNumber(1,2); 385 var result = rationalNumber.valueOf(); 386 ``` 387 388 389### equals<sup>8+</sup> 390 391equals(obj: Object): boolean 392 393将当前的RationalNumber对象与给定的对象进行比较是否相等。 394 395**系统能力:** SystemCapability.Utils.Lang 396 397**参数:** 398| 参数名 | 类型 | 必填 | 说明 | 399| -------- | -------- | -------- | -------- | 400| object | Object | 是 | 其他类型对象。 | 401 402**返回值:** 403| 类型 | 说明 | 404| -------- | -------- | 405| boolean | 如果给定对象与当前对象相同,则返回true;否则返回false。 | 406 407**示例:** 408 ```js 409 var rationalNumber = new util.RationalNumber(1,2); 410 var rational = rationalNumer.creatRationalFromString("3/4"); 411 var result = rationalNumber.equals(rational); 412 ``` 413 414 415### getCommonDivisor<sup>8+</sup> 416 417static getCommonDivisor(number1: number,number2: number): number 418 419获取两个指定整数的最大公约数。 420 421**系统能力:** SystemCapability.Utils.Lang 422 423**参数:** 424| 参数名 | 类型 | 必填 | 说明 | 425| -------- | -------- | -------- | -------- | 426| number1 | number | 是 | 整数类型。 | 427| number2 | number | 是 | 整数类型。 | 428 429**返回值:** 430| 类型 | 说明 | 431| -------- | -------- | 432| number | 返回两个给定数字的最大公约数。 | 433 434**示例:** 435 ```js 436 var rationalNumber = new util.RationalNumber(1,2); 437 var result = rationalNumber.getCommonDivisor(4,6); 438 ``` 439 440 441### getNumerator<sup>8+</sup> 442 443getNumerator(): number 444 445获取当前RationalNumber对象的分子。 446 447**系统能力:** SystemCapability.Utils.Lang 448 449**返回值:** 450 451| 类型 | 说明 | 452| -------- | -------- | 453| number | 返回RationalNumber对象的分子的值。 | 454 455**示例:** 456 ```js 457 var rationalNumber = new util.RationalNumber(1,2); 458 var result = rationalNumber.getNumerator(); 459 ``` 460 461 462### getDenominator<sup>8+</sup> 463 464getDenominator(): number 465 466获取当前RationalNumber对象的分母。 467 468**系统能力:** SystemCapability.Utils.Lang 469 470**返回值:** 471| 类型 | 说明 | 472| -------- | -------- | 473| number | 返回RationalNumber对象的分母的值。 | 474 475**示例:** 476 ```js 477 var rationalNumber = new util.RationalNumber(1,2); 478 var result = rationalNumber.getDenominator(); 479 ``` 480 481 482### isZero<sup>8+</sup> 483 484isZero():boolean 485 486检查当前RationalNumber对象是否为0。 487 488**系统能力:** SystemCapability.Utils.Lang 489 490**返回值:** 491| 类型 | 说明 | 492| -------- | -------- | 493| boolean | 如果当前对象表示的值为0,则返回true;否则返回false。 | 494 495**示例:** 496 ```js 497 var rationalNumber = new util.RationalNumber(1,2); 498 var result = rationalNumber.isZero(); 499 ``` 500 501 502### isNaN<sup>8+</sup> 503 504isNaN(): boolean 505 506检查当前RationalNumber对象是否表示非数字(NaN)值。 507 508**系统能力:** SystemCapability.Utils.Lang 509 510**返回值:** 511| 类型 | 说明 | 512| -------- | -------- | 513| boolean | 如果分母和分子都为0,则返回true;否则返回false。 | 514 515**示例:** 516 ```js 517 var rationalNumber = new util.RationalNumber(1,2); 518 var result = rationalNumber.isNaN(); 519 ``` 520 521 522### isFinite<sup>8+</sup> 523 524isFinite():boolean 525 526检查当前RationalNumber对象是否表示一个有限值。 527 528**系统能力:** SystemCapability.Utils.Lang 529 530**返回值:** 531| 类型 | 说明 | 532| -------- | -------- | 533| boolean | 如果分母不为0,则返回true;否则返回false。 | 534 535**示例:** 536 ```js 537 var rationalNumber = new util.RationalNumber(1,2); 538 var result = rationalNumber.isFinite(); 539 ``` 540 541 542### toString<sup>8+</sup> 543 544toString(): string 545 546获取当前RationalNumber对象的字符串表示形式。 547 548**系统能力:** SystemCapability.Utils.Lang 549 550**返回值:** 551| 类型 | 说明 | 552| -------- | -------- | 553| string | 返回Numerator/Denominator格式的字符串,例如3/5,如果当前对象的分子和分母都为0,则返回NaN。 | 554 555**示例:** 556 ```js 557 var rationalNumber = new util.RationalNumber(1,2); 558 var result = rationalNumber.toString(); 559 ``` 560 561## LruBuffer<sup>8+</sup> 562 563### 属性 564 565**系统能力:** 以下各项对应的系统能力均为SystemCapability.Utils.Lang。 566 567| 名称 | 类型 | 可读 | 可写 | 说明 | 568| -------- | -------- | -------- | -------- | -------- | 569| length | number | 是 | 否 | 当前缓冲区中值的总数。 | 570 571**示例:** 572 ```js 573 var pro = new util.LruBuffer(); 574 pro.put(2,10); 575 pro.put(1,8); 576 var result = pro.length; 577 ``` 578 579 580### constructor<sup>8+</sup> 581 582constructor(capacity?: number) 583 584默认构造函数用于创建一个新的LruBuffer实例,默认容量为64。 585 586**系统能力:** SystemCapability.Utils.Lang 587 588**参数:** 589| 参数名 | 类型 | 必填 | 说明 | 590| -------- | -------- | -------- | -------- | 591| capacity | number | 否 | 指示要为缓冲区自定义的容量。 | 592 593**示例:** 594 ```js 595 var lrubuffer= new util.LruBuffer(); 596 ``` 597 598 599### updateCapacity<sup>8+</sup> 600 601updateCapacity(newCapacity: number): void 602 603将缓冲区容量更新为指定容量,如果newCapacity小于或等于0,则抛出异常。 604 605**系统能力:** SystemCapability.Utils.Lang 606 607**参数:** 608| 参数名 | 类型 | 必填 | 说明 | 609| -------- | -------- | -------- | -------- | 610| newCapacity | number | 是 | 指示要为缓冲区自定义的容量。 | 611 612**示例:** 613 ```js 614 var pro = new util.LruBuffer(); 615 var result = pro.updateCapacity(100); 616 ``` 617 618 619### toString<sup>8+</sup> 620 621toString(): string 622 623返回对象的字符串表示形式。 624 625**系统能力:** SystemCapability.Utils.Lang 626 627**返回值:** 628| 类型 | 说明 | 629| -------- | -------- | 630| string | 返回对象的字符串表示形式。 | 631 632**示例:** 633 ```js 634 var pro = new util.LruBuffer(); 635 pro.put(2,10); 636 pro.get(2); 637 pro.remove(20); 638 var result = pro.toString(); 639 ``` 640 641 642### getCapacity<sup>8+</sup> 643 644getCapacity(): number 645 646获取当前缓冲区的容量。 647 648**系统能力:** SystemCapability.Utils.Lang 649 650**返回值:** 651| 类型 | 说明 | 652| -------- | -------- | 653| number | 返回当前缓冲区的容量。 | 654 655**示例:** 656 ```js 657 var pro = new util.LruBuffer(); 658 var result = pro.getCapacity(); 659 ``` 660 661 662### clear<sup>8+</sup> 663 664clear(): void 665 666从当前缓冲区清除键值对。后续会调用afterRemoval()方法执行后续操作。 667 668**系统能力:** SystemCapability.Utils.Lang 669 670**示例:** 671 ```js 672 var pro = new util.LruBuffer(); 673 pro.put(2,10); 674 var result = pro.size(); 675 pro.clear(); 676 ``` 677 678 679### getCreateCount<sup>8+</sup> 680 681getCreateCount(): number 682 683获取createDefault()返回值的次数。 684 685**系统能力:** SystemCapability.Utils.Lang 686 687**返回值:** 688| 类型 | 说明 | 689| -------- | -------- | 690| number | 返回createDefault()返回值的次数。 | 691 692**示例:** 693 ```js 694 var pro = new util.LruBuffer(); 695 pro.put(1,8); 696 var result = pro.getCreateCount(); 697 ``` 698 699 700### getMissCount<sup>8+</sup> 701 702getMissCount(): number 703 704获取查询值不匹配的次数。 705 706**系统能力:** SystemCapability.Utils.Lang 707 708**返回值:** 709| 类型 | 说明 | 710| -------- | -------- | 711| number | 返回查询值不匹配的次数。 | 712 713**示例:** 714 ```js 715 var pro = new util.LruBuffer(); 716 pro.put(2,10); 717 pro.get(2); 718 var result = pro.getMissCount(); 719 ``` 720 721 722### getRemovalCount<sup>8+</sup> 723 724getRemovalCount(): number 725 726获取从缓冲区中逐出值的次数。 727 728**系统能力:** SystemCapability.Utils.Lang 729 730**返回值:** 731| 类型 | 说明 | 732| -------- | -------- | 733| number | 返回从缓冲区中驱逐的次数。 | 734 735**示例:** 736 ```js 737 var pro = new util.LruBuffer(); 738 pro.put(2,10); 739 pro.updateCapacity(2); 740 pro.put(50,22); 741 var result = pro.getRemovalCount(); 742 ``` 743 744 745### getMatchCount<sup>8+</sup> 746 747getMatchCount(): number 748 749获取查询值匹配成功的次数。 750 751**系统能力:** SystemCapability.Utils.Lang 752 753**返回值:** 754| 类型 | 说明 | 755| -------- | -------- | 756| number | 返回查询值匹配成功的次数。 | 757 758**示例:** 759 ```js 760 var pro = new util.LruBuffer(); 761 pro.put(2,10); 762 pro.get(2); 763 var result = pro.getMatchCount(); 764 ``` 765 766 767### getPutCount<sup>8+</sup> 768 769getPutCount(): number 770 771获取将值添加到缓冲区的次数。 772 773**系统能力:** SystemCapability.Utils.Lang 774 775**返回值:** 776| 类型 | 说明 | 777| -------- | -------- | 778| number | 返回将值添加到缓冲区的次数。 | 779 780**示例:** 781 ```js 782 var pro = new util.LruBuffer(); 783 pro.put(2,10); 784 var result = pro.getPutCount(); 785 ``` 786 787 788### isEmpty<sup>8+</sup> 789 790isEmpty(): boolean 791 792检查当前缓冲区是否为空。 793 794**系统能力:** SystemCapability.Utils.Lang 795 796**返回值:** 797| 类型 | 说明 | 798| -------- | -------- | 799| boolean | 如果当前缓冲区不包含任何值,则返回true。 | 800 801**示例:** 802 ```js 803 var pro = new util.LruBuffer(); 804 pro.put(2,10); 805 var result = pro.isEmpty(); 806 ``` 807 808 809### get<sup>8+</sup> 810 811get(key: K): V | undefined 812 813表示要查询的键。 814 815**系统能力:** SystemCapability.Utils.Lang 816 817**参数:** 818| 参数名 | 类型 | 必填 | 说明 | 819| -------- | -------- | -------- | -------- | 820| key | K | 是 | 要查询的键。 | 821 822**返回值:** 823| 类型 | 说明 | 824| -------- | -------- | 825| V \| undefind | 如果指定的键存在于缓冲区中,则返回与键关联的值;否则返回undefined。 | 826 827**示例:** 828 ```js 829 var pro = new util.LruBuffer(); 830 pro.put(2,10); 831 var result = pro.get(2); 832 ``` 833 834 835### put<sup>8+</sup> 836 837put(key: K,value: V): V 838 839将键值对添加到缓冲区。 840 841**系统能力:** SystemCapability.Utils.Lang 842 843**参数:** 844| 参数名 | 类型 | 必填 | 说明 | 845| -------- | -------- | -------- | -------- | 846| key | K | 是 | 要添加的密钥。 | 847| value | V | 是 | 指示与要添加的键关联的值。 | 848 849**返回值:** 850| 类型 | 说明 | 851| -------- | -------- | 852| V | 返回与添加的键关联的值;如果要添加的键已经存在,则返回原始值,如果键或值为空,则抛出此异常。 | 853 854**示例:** 855 ```js 856 var pro = new util.LruBuffer(); 857 var result = pro.put(2,10); 858 ``` 859 860 861### values<sup>8+</sup> 862 863values(): V[] 864 865获取当前缓冲区中所有值从最近访问到最近最少访问的顺序列表 。 866 867**系统能力:** SystemCapability.Utils.Lang 868 869**返回值:** 870| 类型 | 说明 | 871| -------- | -------- | 872| V [] | 按从最近访问到最近最少访问的顺序返回当前缓冲区中所有值的列表。 | 873 874**示例:** 875 ```js 876 var pro = new util.LruBuffer(); 877 pro.put(2,10); 878 pro.put(2,"anhu"); 879 pro.put("afaf","grfb"); 880 var result = pro.values(); 881 ``` 882 883 884### keys<sup>8+</sup> 885 886keys(): K[] 887 888获取当前缓冲区中所有键从最近访问到最近最少访问的升序列表。 889 890**系统能力:** SystemCapability.Utils.Lang 891 892**返回值:** 893| 类型 | 说明 | 894| -------- | -------- | 895| K [] | 按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。 | 896 897**示例:** 898 ```js 899 var pro = new util.LruBuffer(); 900 pro.put(2,10); 901 var result = pro.keys(); 902 ``` 903 904 905### remove<sup>8+</sup> 906 907remove(key: K): V | undefined 908 909从当前缓冲区中删除指定的键及其关联的值。 910 911**系统能力:** SystemCapability.Utils.Lang 912 913**参数:** 914| 参数名 | 类型 | 必填 | 说明 | 915| -------- | -------- | -------- | -------- | 916| key | K | 是 | 要删除的密钥。 | 917 918**返回值:** 919| 类型 | 说明 | 920| -------- | -------- | 921| V \| undefind | 返回一个包含已删除键值对的Optional对象;如果key不存在,则返回一个空的Optional对象,如果key为null,则抛出异常。 | 922 923**示例:** 924 ```js 925 var pro = new util.LruBuffer(); 926 pro.put(2,10); 927 var result = pro.remove(20); 928 ``` 929 930 931### afterRemoval<sup>8+</sup> 932 933afterRemoval(isEvict: boolean,key: K,value: V,newValue: V): void 934 935删除值后执行后续操作。 936 937**系统能力:** SystemCapability.Utils.Lang 938 939**参数:** 940| 参数名 | 类型 | 必填 | 说明 | 941| -------- | -------- | -------- | -------- | 942| isEvict | boolean | 否 | 因容量不足而调用该方法时,参数值为true,其他情况为false。 | 943| key | K | 是 | 表示删除的键。 | 944| value | V | 是 | 表示删除的值。 | 945| newValue | V | 否 | 如果已调用put方法并且要添加的键已经存在,则参数值是关联的新值。其他情况下参数值为空。 | 946 947**示例:** 948 ```js 949 var arr = []; 950 class ChildLruBuffer extends util.LruBuffer 951 { 952 constructor() 953 { 954 super(); 955 } 956 static getInstance() 957 { 958 if(this.instance == null) 959 { 960 this.instance = new ChildLruBuffer(); 961 } 962 return this.instance; 963 } 964 afterRemoval(isEvict, key, value, newValue) 965 { 966 if (isEvict === false) 967 { 968 arr = [key, value, newValue]; 969 } 970 } 971 } 972 ChildLruBuffer.getInstance().afterRemoval(false,10,30,null); 973 ``` 974 975 976### contains<sup>8+</sup> 977 978contains(key: K): boolean 979 980检查当前缓冲区是否包含指定的键。 981 982**系统能力:** SystemCapability.Utils.Lang 983 984**参数:** 985| 参数名 | 类型 | 必填 | 说明 | 986| -------- | -------- | -------- | -------- | 987| key | K | 是 | 表示要检查的键。 | 988 989**返回值:** 990| 类型 | 说明 | 991| -------- | -------- | 992| boolean | 如果缓冲区包含指定的键,则返回 true。 | 993 994**示例:** 995 ```js 996 var pro = new util.LruBuffer(); 997 pro.put(2,10); 998 var result = pro.contains(20); 999 ``` 1000 1001 1002### createDefault<sup>8+</sup> 1003 1004createDefault(key: K): V 1005 1006如果未计算特定键的值,则执行后续操作,参数表示丢失的键,返回与键关联的值。 1007 1008**系统能力:** SystemCapability.Utils.Lang 1009 1010**参数:** 1011| 参数名 | 类型 | 必填 | 说明 | 1012| -------- | -------- | -------- | -------- | 1013| key | K | 是 | 表示丢失的键。 | 1014 1015**返回值:** 1016| 类型 | 说明 | 1017| -------- | -------- | 1018| V | 返回与键关联的值。 | 1019 1020**示例:** 1021 ```js 1022 var pro = new util.LruBuffer(); 1023 var result = pro.createDefault(50); 1024 ``` 1025 1026 1027### entries<sup>8+</sup> 1028 1029entries(): IterableIterator<[K,V]> 1030 1031允许迭代包含在这个对象中的所有键值对。 1032 1033**系统能力:** SystemCapability.Utils.Lang 1034 1035**返回值:** 1036| 类型 | 说明 | 1037| -------- | -------- | 1038| [K, V] | 返回一个可迭代数组。 | 1039 1040**示例:** 1041 ```js 1042 var pro = new util.LruBuffer(); 1043 pro.put(2,10); 1044 var result = pro.entries(); 1045 ``` 1046 1047 1048### [Symbol.iterator]<sup>8+</sup> 1049 1050[Symbol.iterator]\(): IterableIterator<[K, V]> 1051 1052返回一个键值对形式的二维数组。 1053 1054**系统能力:** SystemCapability.Utils.Lang 1055 1056**返回值:** 1057| 类型 | 说明 | 1058| -------- | -------- | 1059| [K, V] | 返回一个键值对形式的二维数组。 | 1060 1061**示例:** 1062 ```js 1063 var pro = new util.LruBuffer(); 1064 pro.put(2,10); 1065 var result = pro[symbol.iterator](); 1066 ``` 1067 1068 1069## Scope<sup>8+</sup> 1070 1071 1072### ScopeType<sup>8+</sup> 1073 1074用于表示范围中的值的类型。该类型的值,类型可以为ScopeComparable或number。 1075 1076ScopeComparable类型的值需要实现compareTo方法,确保传入的数据具有可比性。 1077```js 1078interface ScopeComparable{ 1079 compareTo(other: ScopeComparable): boolean; 1080} 1081type ScopeType = ScopeComparable | number; 1082``` 1083 1084 1085构造新类,实现compareTo方法。后续示例代码中,均通过Temperature,获取[ScopeType](#scopetype8)的实例化对象。 1086 1087 1088示例: 1089```js 1090class Temperature{ 1091 constructor(value){ 1092 // 当使用ts语言开发时,需要补充以下代码: 1093 // private readonly _temp: Temperature; 1094 this._temp = value; 1095 } 1096 comapreTo(value){ 1097 return this._temp >= value.getTemp(); 1098 } 1099 getTemp(){ 1100 return this._temp; 1101 } 1102 toString(){ 1103 return this._temp.toString(); 1104 } 1105} 1106``` 1107 1108 1109### constructor<sup>8+</sup> 1110 1111constructor(lowerObj: ScopeType, upperObj: ScopeType) 1112 1113用于创建指定下限和上限的作用域实例的构造函数,返回一个Scope对象。 1114 1115**系统能力:** SystemCapability.Utils.Lang 1116 1117**参数:** 1118| 参数名 | 类型 | 必填 | 说明 | 1119| -------- | -------- | -------- | -------- | 1120| lowerObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的下限。 | 1121| upperObj | [ScopeType](#scopetype8) | 是 | 指定作用域实例的上限。 | 1122 1123**示例:** 1124 ```js 1125 var tempLower = new Temperature(30); 1126 var tempUpper = new Temperature(40); 1127 var range = new util.Scope(tempLower, tempUpper); 1128 ``` 1129 1130 1131### toString<sup>8+</sup> 1132 1133toString(): string 1134 1135该字符串化方法返回一个包含当前范围的字符串表示形式。 1136 1137**系统能力:** SystemCapability.Utils.Lang 1138 1139**返回值:** 1140| 类型 | 说明 | 1141| -------- | -------- | 1142| string | 返回包含当前范围对象的字符串表示形式。 | 1143 1144**示例:** 1145 ```js 1146 var tempLower = new Temperature(30); 1147 var tempUpper = new Temperature(40); 1148 var range = new util.Scope(tempLower, tempUpper); 1149 var result = range.toString(); 1150 ``` 1151 1152 1153### intersect<sup>8+</sup> 1154 1155intersect(range: Scope): Scope 1156 1157获取给定范围和当前范围的交集。 1158 1159**系统能力:** SystemCapability.Utils.Lang 1160 1161**参数:** 1162| 参数名 | 类型 | 必填 | 说明 | 1163| -------- | -------- | -------- | -------- | 1164| range | [Scope](#scope8) | 是 | 传入一个给定范围。 | 1165 1166**返回值:** 1167| 类型 | 说明 | 1168| -------- | -------- | 1169| [Scope](#scope8) | 返回给定范围和当前范围的交集。 | 1170 1171**示例:** 1172 ```js 1173 var tempLower = new Temperature(30); 1174 var tempUpper = new Temperature(40); 1175 var range = new util.Scope(tempLower, tempUpper); 1176 var tempMiDF = new Temperature(35); 1177 var tempMidS = new Temperature(39); 1178 var rangeFir = new util.Scope(tempMiDF, tempMidS); 1179 range.intersect(rangeFir ); 1180 ``` 1181 1182 1183### intersect<sup>8+</sup> 1184 1185intersect(lowerObj:ScopeType,upperObj:ScopeType):Scope 1186 1187获取当前范围与给定下限和上限范围的交集。 1188 1189**系统能力:** SystemCapability.Utils.Lang 1190 1191**参数:** 1192| 参数名 | 类型 | 必填 | 说明 | 1193| -------- | -------- | -------- | -------- | 1194| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 | 1195| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 | 1196 1197**返回值:** 1198| 类型 | 说明 | 1199| -------- | -------- | 1200| [Scope](#scope8) | 返回当前范围与给定下限和上限范围的交集。 | 1201 1202**示例:** 1203 ```js 1204 var tempLower = new Temperature(30); 1205 var tempUpper = new Temperature(40); 1206 var tempMiDF = new Temperature(35); 1207 var tempMidS = new Temperature(39); 1208 var range = new util.Scope(tempLower, tempUpper); 1209 var result = range.intersect(tempMiDF, tempMidS); 1210 ``` 1211 1212 1213### getUpper<sup>8+</sup> 1214 1215getUpper(): ScopeType 1216 1217获取当前范围的上限。 1218 1219**系统能力:** SystemCapability.Utils.Lang 1220 1221**返回值:** 1222 1223| 类型 | 说明 | 1224| -------- | -------- | 1225| [ScopeType](#scopetype8) | 返回当前范围的上限值。 | 1226 1227**示例:** 1228 ```js 1229 var tempLower = new Temperature(30); 1230 var tempUpper = new Temperature(40); 1231 var range = new util.Scope(tempLower, tempUpper); 1232 var result = range.getUpper(); 1233 ``` 1234 1235 1236### getLower<sup>8+</sup> 1237 1238getLower(): ScopeType 1239 1240获取当前范围的下限。 1241 1242**系统能力:** SystemCapability.Utils.Lang 1243 1244**返回值:** 1245| 类型 | 说明 | 1246| -------- | -------- | 1247| [ScopeType](#scopetype8) | 返回当前范围的下限值。 | 1248 1249**示例:** 1250 ```js 1251 var tempLower = new Temperature(30); 1252 var tempUpper = new Temperature(40); 1253 var range = new util.Scope(tempLower, tempUpper); 1254 var result = range.getLower(); 1255 ``` 1256 1257 1258### expand<sup>8+</sup> 1259 1260expand(lowerObj: ScopeType,upperObj: ScopeType): Scope 1261 1262创建并返回包括当前范围和给定下限和上限的并集。 1263 1264**系统能力:** SystemCapability.Utils.Lang 1265 1266**参数:** 1267| 参数名 | 类型 | 必填 | 说明 | 1268| -------- | -------- | -------- | -------- | 1269| lowerObj | [ScopeType](#scopetype8) | 是 | 给定范围的下限。 | 1270| upperObj | [ScopeType](#scopetype8) | 是 | 给定范围的上限。 | 1271 1272**返回值:** 1273| 类型 | 说明 | 1274| -------- | -------- | 1275| [Scope](#scope8) | 返回当前范围和给定下限和上限的并集。 | 1276 1277**示例:** 1278 1279 ```js 1280 var tempLower = new Temperature(30); 1281 var tempUpper = new Temperature(40); 1282 var tempMiDF = new Temperature(35); 1283 var tempMidS = new Temperature(39); 1284 var range = new util.Scope(tempLower, tempUpper); 1285 var result = range.expand(tempMiDF, tempMidS); 1286 ``` 1287 1288 1289### expand<sup>8+</sup> 1290 1291expand(range: Scope): Scope 1292 1293创建并返回包括当前范围和给定范围的并集。 1294 1295**系统能力:** SystemCapability.Utils.Lang 1296 1297**参数:** 1298| 参数名 | 类型 | 必填 | 说明 | 1299| -------- | -------- | -------- | -------- | 1300| range | [Scope](#scope8) | 是 | 传入一个给定范围。 | 1301 1302**返回值:** 1303| 类型 | 说明 | 1304| -------- | -------- | 1305| [Scope](#scope8) | 返回包括当前范围和给定范围的并集。 | 1306 1307**示例:** 1308 ```js 1309 var tempLower = new Temperature(30); 1310 var tempUpper = new Temperature(40); 1311 var tempMiDF = new Temperature(35); 1312 var tempMidS = new Temperature(39); 1313 var range = new util.Scope(tempLower, tempUpper); 1314 var rangeFir = new util.Scope(tempMiDF, tempMidS); 1315 var result = range.expand(rangeFir); 1316 ``` 1317 1318 1319### expand<sup>8+</sup> 1320 1321expand(value: ScopeType): Scope 1322 1323创建并返回包括当前范围和给定值的并集。 1324 1325**系统能力:** SystemCapability.Utils.Lang 1326 1327**参数:** 1328| 参数名 | 类型 | 必填 | 说明 | 1329| -------- | -------- | -------- | -------- | 1330| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 | 1331 1332**返回值:** 1333| 类型 | 说明 | 1334| -------- | -------- | 1335| [Scope](#scope8) | 返回包括当前范围和给定值的并集。 | 1336 1337**示例:** 1338 ```js 1339 var tempLower = new Temperature(30); 1340 var tempUpper = new Temperature(40); 1341 var tempMiDF = new Temperature(35); 1342 var range = new util.Scope(tempLower, tempUpper); 1343 var result = range.expand(tempMiDF); 1344 ``` 1345 1346 1347### contains<sup>8+</sup> 1348 1349contains(value: ScopeType): boolean 1350 1351检查给定value是否包含在当前范围内。 1352 1353**系统能力:** SystemCapability.Utils.Lang 1354 1355**参数:** 1356| 参数名 | 类型 | 必填 | 说明 | 1357| -------- | -------- | -------- | -------- | 1358| value | [ScopeType](#scopetype8) | 是 | 传入一个给定值。 | 1359 1360**返回值:** 1361| 类型 | 说明 | 1362| -------- | -------- | 1363| boolean | 如果给定值包含在当前范围内返回true,否则返回false。 | 1364 1365**示例:** 1366 ```js 1367 var tempLower = new Temperature(30); 1368 var tempUpper = new Temperature(40); 1369 var tempMiDF = new Temperature(35); 1370 var range = new util.Scope(tempLower, tempUpper); 1371 range.contains(tempMiDF); 1372 ``` 1373 1374 1375### contains<sup>8+</sup> 1376 1377contains(range: Scope): boolean 1378 1379检查给定range是否在当前范围内。 1380 1381**系统能力:** SystemCapability.Utils.Lang 1382 1383**参数:** 1384| 参数名 | 类型 | 必填 | 说明 | 1385| -------- | -------- | -------- | -------- | 1386| range | [Scope](#scope8) | 是 | 传入一个给定范围。 | 1387 1388**返回值:** 1389| 类型 | 说明 | 1390| -------- | -------- | 1391| boolean | 如果给定范围包含在当前范围内返回true,否则返回false。 | 1392 1393**示例:** 1394 ```js 1395 var tempLower = new Temperature(30); 1396 var tempUpper = new Temperature(40); 1397 var range = new util.Scope(tempLower, tempUpper); 1398 var tempLess = new Temperature(20); 1399 var tempMore = new Temperature(45); 1400 var rangeSec = new util.Scope(tempLess, tempMore); 1401 var result = range.contains(rangeSec); 1402 ``` 1403 1404 1405### clamp<sup>8+</sup> 1406 1407clamp(value: ScopeType): ScopeType 1408 1409将给定值限定到当前范围内。 1410 1411**系统能力:** SystemCapability.Utils.Lang 1412 1413**参数:** 1414| 参数名 | 类型 | 必填 | 说明 | 1415| -------- | -------- | -------- | -------- | 1416| value | [ScopeType](#scopetype8) | 是 | 传入的给定值。 | 1417 1418**返回值:** 1419| 类型 | 说明 | 1420| -------- | -------- | 1421| [ScopeType](#scopetype8) | 如果传入的value小于下限,则返回lowerObj;如果大于上限值则返回upperObj;如果在当前范围内,则返回value。 | 1422 1423**示例:** 1424 ```js 1425 var tempLower = new Temperature(30); 1426 var tempUpper = new Temperature(40); 1427 var tempMiDF = new Temperature(35); 1428 var range = new util.Scope(tempLower, tempUpper); 1429 var result = range.clamp(tempMiDF); 1430 ``` 1431 1432 1433## Base64<sup>8+</sup> 1434 1435 1436### constructor<sup>8+</sup> 1437 1438constructor() 1439 1440Base64的构造函数。 1441 1442**系统能力:** SystemCapability.Utils.Lang 1443 1444**示例:** 1445 ```js 1446 var base64 = new util.Base64(); 1447 ``` 1448 1449 1450### encodeSync<sup>8+</sup> 1451 1452encodeSync(src: Uint8Array): Uint8Array 1453 1454通过输入参数编码后输出对应文本。 1455 1456**系统能力:** SystemCapability.Utils.Lang 1457 1458**参数:** 1459| 参数名 | 类型 | 必填 | 说明 | 1460| -------- | -------- | -------- | -------- | 1461| src | Uint8Array | 是 | 编码输入Uint8数组。 | 1462 1463**返回值:** 1464| 类型 | 说明 | 1465| -------- | -------- | 1466| Uint8Array | 返回编码后新分配的Uint8数组。 | 1467 1468**示例:** 1469 ```js 1470 var that = new util.Base64(); 1471 var array = new Uint8Array([115,49,51]); 1472 var result = that.encodeSync(array); 1473 ``` 1474 1475 1476### encodeToStringSync<sup>8+</sup> 1477 1478encodeToStringSync(src: Uint8Array): string 1479 1480通过输入参数编码后输出对应文本。 1481 1482**系统能力:** SystemCapability.Utils.Lang 1483 1484**参数:** 1485| 参数名 | 类型 | 必填 | 说明 | 1486| -------- | -------- | -------- | -------- | 1487| src | Uint8Array | 是 | 编码输入Uint8数组。 | 1488 1489**返回值:** 1490| 类型 | 说明 | 1491| -------- | -------- | 1492| string | 返回编码后的字符串。 | 1493 1494**示例:** 1495 ```js 1496 var that = new util.Base64(); 1497 var array = new Uint8Array([115,49,51]); 1498 var result = that.encodeToStringSync(array); 1499 ``` 1500 1501 1502### decodeSync<sup>8+</sup> 1503 1504decodeSync(src: Uint8Array | string): Uint8Array 1505 1506通过输入参数解码后输出对应文本。 1507 1508**系统能力:** SystemCapability.Utils.Lang 1509 1510**参数:** 1511| 参数名 | 类型 | 必填 | 说明 | 1512| -------- | -------- | -------- | -------- | 1513| src | Uint8Array \| string | 是 | 解码输入Uint8数组或者字符串。 | 1514 1515**返回值:** 1516| 类型 | 说明 | 1517| -------- | -------- | 1518| Uint8Array | 返回解码后新分配的Uint8数组。 | 1519 1520**示例:** 1521 ```js 1522 var that = new util.Base64(); 1523 var buff = 'czEz'; 1524 var result = that.decodeSync(buff); 1525 ``` 1526 1527 1528### encode<sup>8+</sup> 1529 1530encode(src: Uint8Array): Promise<Uint8Array> 1531 1532通过输入参数异步编码后输出对应文本。 1533 1534**系统能力:** SystemCapability.Utils.Lang 1535 1536**参数:** 1537| 参数名 | 类型 | 必填 | 说明 | 1538| -------- | -------- | -------- | -------- | 1539| src | Uint8Array | 是 | 异步编码输入Uint8数组。 | 1540 1541**返回值:** 1542| 类型 | 说明 | 1543| -------- | -------- | 1544| Promise<Uint8Array> | 返回异步编码后新分配的Uint8数组。 | 1545 1546**示例:** 1547 ```js 1548 var that = new util.Base64(); 1549 var array = new Uint8Array([115,49,51]); 1550 var rarray = new Uint8Array([99,122,69,122]); 1551 that.encode(array).then(val=>{ 1552 for (var i = 0; i < rarray.length; i++) { 1553 console.log(val[i]) 1554 } 1555 }) 1556 ``` 1557 1558 1559### encodeToString<sup>8+</sup> 1560 1561encodeToString(src: Uint8Array): Promise<string> 1562 1563通过输入参数异步编码后输出对应文本。 1564 1565**系统能力:** SystemCapability.Utils.Lang 1566 1567**参数:** 1568| 参数名 | 类型 | 必填 | 说明 | 1569| -------- | -------- | -------- | -------- | 1570| src | Uint8Array | 是 | 异步编码输入Uint8数组。 | 1571 1572**返回值:** 1573| 类型 | 说明 | 1574| -------- | -------- | 1575| Promise<string> | 返回异步编码后的字符串。 | 1576 1577**示例:** 1578 ```js 1579 var that = new util.Base64(); 1580 var array = new Uint8Array([115,49,51]); 1581 that.encodeToString(array).then(val=>{ 1582 console.log(val) 1583 }) 1584 ``` 1585 1586 1587### decode<sup>8+</sup> 1588 1589decode(src: Uint8Array | string): Promise<Uint8Array> 1590 1591通过输入参数异步解码后输出对应文本。 1592 1593**系统能力:** SystemCapability.Utils.Lang 1594 1595**参数:** 1596| 参数名 | 类型 | 必填 | 说明 | 1597| -------- | -------- | -------- | -------- | 1598| src | Uint8Array \| string | 是 | 异步解码输入Uint8数组或者字符串。 | 1599 1600**返回值:** 1601| 类型 | 说明 | 1602| -------- | -------- | 1603| Promise<Uint8Array> | 返回异步解码后新分配的Uint8数组。 | 1604 1605**示例:** 1606 ```js 1607 var that = new util.Base64(); 1608 var array = new Uint8Array([99,122,69,122]); 1609 var rarray = new Uint8Array([115,49,51]); 1610 that.decode(array).then(val=>{ 1611 for (var i = 0; i < rarray.length; i++) { 1612 console.log(val[i]) 1613 } 1614 }) 1615 ``` 1616 1617 1618## types<sup>8+</sup> 1619 1620 1621### constructor<sup>8+</sup> 1622 1623constructor() 1624 1625Types的构造函数。 1626 1627**系统能力:** SystemCapability.Utils.Lang 1628 1629**示例:** 1630 ```js 1631 var type = new util.types(); 1632 ``` 1633 1634 1635### isAnyArrayBuffer<sup>8+</sup> 1636 1637isAnyArrayBuffer(value: Object): boolean 1638 1639检查输入的value是否是ArrayBuffer类型。 1640 1641**系统能力:** SystemCapability.Utils.Lang 1642 1643**参数:** 1644| 参数名 | 类型 | 必填 | 说明 | 1645| -------- | -------- | -------- | -------- | 1646| value | Object | 是 | 待检测对象。 | 1647 1648**返回值:** 1649| 类型 | 说明 | 1650| -------- | -------- | 1651| boolean | 判断的结果,如果是ArrayBuffer类型为true,反之为false。 | 1652 1653**示例:** 1654 ```js 1655 var that = new util.types(); 1656 var result = that.isAnyArrayBuffer(new ArrayBuffer([])); 1657 ``` 1658 1659 1660### isArrayBufferView<sup>8+</sup> 1661 1662isArrayBufferView(value: Object): boolean 1663 1664检查输入的value是否是内置ArrayBufferView辅助类型。 1665 1666ArrayBufferView辅助类型包括:Int8Array、Int16Array、Int32Array、Uint8Array、Uint8ClampedArray、Uint32Array、Float32Array、Float64Array、DataView。 1667 1668**系统能力:** SystemCapability.Utils.Lang 1669 1670**参数:** 1671| 参数名 | 类型 | 必填 | 说明 | 1672| -------- | -------- | -------- | -------- | 1673| value | Object | 是 | 待检测对象。 | 1674 1675**返回值:** 1676| 类型 | 说明 | 1677| -------- | -------- | 1678| boolean | 判断的结果,如果是内置包含的ArrayBufferView辅助类型为true,反之为false。 | 1679 1680**示例:** 1681 ```js 1682 var that = new util.types(); 1683 var result = that.isArrayBufferView(new Int8Array([])); 1684 ``` 1685 1686 1687### isArgumentsObject<sup>8+</sup> 1688 1689isArgumentsObject(value: Object): boolean 1690 1691检查输入的value是否是一个arguments对象类型。 1692 1693**系统能力:** SystemCapability.Utils.Lang 1694 1695**参数:** 1696| 参数名 | 类型 | 必填 | 说明 | 1697| -------- | -------- | -------- | -------- | 1698| value | Object | 是 | 待检测对象。 | 1699 1700**返回值:** 1701| 类型 | 说明 | 1702| -------- | -------- | 1703| boolean | 判断的结果,如果是内置包含的arguments类型为true,反之为false。 | 1704 1705**示例:** 1706 ```js 1707 var that = new util.types(); 1708 function foo() { 1709 var result = that.isArgumentsObject(arguments); 1710 } 1711 var f = foo(); 1712 ``` 1713 1714 1715### isArrayBuffer<sup>8+</sup> 1716 1717isArrayBuffer(value: Object): boolean 1718 1719检查输入的value是否是ArrayBuffer类型。 1720 1721**系统能力:** SystemCapability.Utils.Lang 1722 1723**参数:** 1724| 参数名 | 类型 | 必填 | 说明 | 1725| -------- | -------- | -------- | -------- | 1726| value | Object | 是 | 待检测对象。 | 1727 1728**返回值:** 1729| 类型 | 说明 | 1730| -------- | -------- | 1731| boolean | 判断的结果,如果是内置包含的ArrayBuffer类型为true,反之为false。 | 1732 1733**示例:** 1734 ```js 1735 var that = new util.types(); 1736 var result = that.isArrayBuffer(new ArrayBuffer([])); 1737 ``` 1738 1739 1740### isAsyncFunction<sup>8+</sup> 1741 1742isAsyncFunction(value: Object): boolean 1743 1744检查输入的value是否是一个异步函数类型。 1745 1746**系统能力:** SystemCapability.Utils.Lang 1747 1748**参数:** 1749| 参数名 | 类型 | 必填 | 说明 | 1750| -------- | -------- | -------- | -------- | 1751| value | Object | 是 | 待检测对象。 | 1752 1753**返回值:** 1754| 类型 | 说明 | 1755| -------- | -------- | 1756| boolean | 判断的结果,如果是内置包含的异步函数类型为true,反之为false。 | 1757 1758**示例:** 1759 ```js 1760 var that = new util.types(); 1761 var result = that.isAsyncFunction(async function foo() {}); 1762 ``` 1763 1764 1765### isBooleanObject<sup>8+</sup> 1766 1767isBooleanObject(value: Object): boolean 1768 1769检查输入的value是否是一个Boolean对象类型。 1770 1771**系统能力:** SystemCapability.Utils.Lang 1772 1773**参数:** 1774| 参数名 | 类型 | 必填 | 说明 | 1775| -------- | -------- | -------- | -------- | 1776| value | Object | 是 | 待检测对象。 | 1777 1778**返回值:** 1779| 类型 | 说明 | 1780| -------- | -------- | 1781| boolean | 判断的结果,如果是内置包含的Boolean对象类型为true,反之为false。 | 1782 1783**示例:** 1784 ```js 1785 var that = new util.types(); 1786 var result = that.isBooleanObject(new Boolean(true)); 1787 ``` 1788 1789 1790### isBoxedPrimitive<sup>8+</sup> 1791 1792isBoxedPrimitive(value: Object): boolean 1793 1794检查输入的value是否是Boolean或Number或String或Symbol对象类型。 1795 1796**系统能力:** SystemCapability.Utils.Lang 1797 1798**参数:** 1799| 参数名 | 类型 | 必填 | 说明 | 1800| -------- | -------- | -------- | -------- | 1801| value | Object | 是 | 待检测对象。 | 1802 1803**返回值:** 1804| 类型 | 说明 | 1805| -------- | -------- | 1806| boolean | 判断的结果,如果是内置包含的Boolean或Number或String或Symbol对象类型为true,反之为false。 | 1807 1808**示例:** 1809 ```js 1810 var that = new util.types(); 1811 var result = that.isBoxedPrimitive(new Boolean(false)); 1812 ``` 1813 1814 1815### isDataView<sup>8+</sup> 1816 1817isDataView(value: Object): boolean 1818 1819检查输入的value是否是DataView类型。 1820 1821**系统能力:** SystemCapability.Utils.Lang 1822 1823**参数:** 1824| 参数名 | 类型 | 必填 | 说明 | 1825| -------- | -------- | -------- | -------- | 1826| value | Object | 是 | 待检测对象。 | 1827 1828**返回值:** 1829| 类型 | 说明 | 1830| -------- | -------- | 1831| boolean | 判断的结果,如果是内置包含的DataView对象类型为true,反之为false。 | 1832 1833**示例:** 1834 ```js 1835 var that = new util.types(); 1836 const ab = new ArrayBuffer(20); 1837 var result = that.isDataView(new DataView(ab)); 1838 ``` 1839 1840 1841### isDate<sup>8+</sup> 1842 1843isDate(value: Object): boolean 1844 1845检查输入的value是否是Date类型。 1846 1847**系统能力:** SystemCapability.Utils.Lang 1848 1849**参数:** 1850| 参数名 | 类型 | 必填 | 说明 | 1851| -------- | -------- | -------- | -------- | 1852| value | Object | 是 | 待检测对象。 | 1853 1854**返回值:** 1855| 类型 | 说明 | 1856| -------- | -------- | 1857| boolean | 判断的结果,如果是内置包含的Date对象类型为true,反之为false。 | 1858 1859**示例:** 1860 ```js 1861 var that = new util.types(); 1862 var result = that.isDate(new Date()); 1863 ``` 1864 1865 1866### isExternal<sup>8+</sup> 1867 1868isExternal(value: Object): boolean 1869 1870检查输入的value是否是native External类型。 1871 1872**系统能力:** SystemCapability.Utils.Lang 1873 1874**参数:** 1875| 参数名 | 类型 | 必填 | 说明 | 1876| -------- | -------- | -------- | -------- | 1877| value | Object | 是 | 待检测对象。 | 1878 1879**返回值:** 1880| 类型 | 说明 | 1881| -------- | -------- | 1882| boolean | 判断的结果,如果是内置包含native External类型为true,反之为false。 | 1883 1884**示例:** 1885 ```js 1886 var that = new util.types(); 1887 const data = util.createExternalType(); 1888 var result = that.isExternal(data); 1889 ``` 1890 1891 1892### isFloat32Array<sup>8+</sup> 1893 1894isFloat32Array(value: Object): boolean 1895 1896检查输入的value是否是Float32Array数组类型。 1897 1898**系统能力:** SystemCapability.Utils.Lang 1899 1900**参数:** 1901| 参数名 | 类型 | 必填 | 说明 | 1902| -------- | -------- | -------- | -------- | 1903| value | Object | 是 | 待检测对象。 | 1904 1905**返回值:** 1906| 类型 | 说明 | 1907| -------- | -------- | 1908| boolean | 判断的结果,如果是内置包含的Float32Array数组类型为true,反之为false。 | 1909 1910**示例:** 1911 ```js 1912 var that = new util.types(); 1913 var result = that.isFloat32Array(new Float32Array()); 1914 ``` 1915 1916 1917### isFloat64Array<sup>8+</sup> 1918 1919isFloat64Array(value: Object): boolean 1920 1921检查输入的value是否是Float64Array数组类型。 1922 1923**系统能力:** SystemCapability.Utils.Lang 1924 1925**参数:** 1926| 参数名 | 类型 | 必填 | 说明 | 1927| -------- | -------- | -------- | -------- | 1928| value | Object | 是 | 待检测对象。 | 1929 1930**返回值:** 1931| 类型 | 说明 | 1932| -------- | -------- | 1933| boolean | 判断的结果,如果是内置包含的Float64Array数组类型为true,反之为false。 | 1934 1935**示例:** 1936 ```js 1937 var that = new util.types(); 1938 var result = that.isFloat64Array(new Float64Array()); 1939 ``` 1940 1941 1942### isGeneratorFunction<sup>8+</sup> 1943 1944isGeneratorFunction(value: Object): boolean 1945 1946检查输入的value是否是generator函数类型。 1947 1948**系统能力:** SystemCapability.Utils.Lang 1949 1950**参数:** 1951| 参数名 | 类型 | 必填 | 说明 | 1952| -------- | -------- | -------- | -------- | 1953| value | Object | 是 | 待检测对象。 | 1954 1955**返回值:** 1956| 类型 | 说明 | 1957| -------- | -------- | 1958| boolean | 判断的结果,如果是内置包含的generator函数类型为true,反之为false。 | 1959 1960**示例:** 1961 ```js 1962 var that = new util.types(); 1963 var result = that.isGeneratorFunction(function* foo() {}); 1964 ``` 1965 1966 1967### isGeneratorObject<sup>8+</sup> 1968 1969isGeneratorObject(value: Object): boolean 1970 1971检查输入的value是否是generator对象类型。 1972 1973**系统能力:** SystemCapability.Utils.Lang 1974 1975**参数:** 1976| 参数名 | 类型 | 必填 | 说明 | 1977| -------- | -------- | -------- | -------- | 1978| value | Object | 是 | 待检测对象。 | 1979 1980**返回值:** 1981| 类型 | 说明 | 1982| -------- | -------- | 1983| boolean | 判断的结果,如果是内置包含的generator对象类型为true,反之为false。 | 1984 1985**示例:** 1986 ```js 1987 var that = new util.types(); 1988 function* foo() {} 1989 const generator = foo(); 1990 var result = that.isGeneratorObject(generator); 1991 ``` 1992 1993 1994### isInt8Array<sup>8+</sup> 1995 1996isInt8Array(value: Object): boolean 1997 1998检查输入的value是否是Int8Array数组类型。 1999 2000**系统能力:** SystemCapability.Utils.Lang 2001 2002**参数:** 2003| 参数名 | 类型 | 必填 | 说明 | 2004| -------- | -------- | -------- | -------- | 2005| value | Object | 是 | 待检测对象。 | 2006 2007**返回值:** 2008| 类型 | 说明 | 2009| -------- | -------- | 2010| boolean | 判断的结果,如果是内置包含的Int8Array数组类型为true,反之为false。 | 2011 2012**示例:** 2013 ```js 2014 var that = new util.types(); 2015 var result = that.isInt8Array(new Int8Array([])); 2016 ``` 2017 2018 2019### isInt16Array<sup>8+</sup> 2020 2021isInt16Array(value: Object): boolean 2022 2023检查输入的value是否是Int16Array数组类型。 2024 2025**系统能力:** SystemCapability.Utils.Lang 2026 2027**参数:** 2028| 参数名 | 类型 | 必填 | 说明 | 2029| -------- | -------- | -------- | -------- | 2030| value | Object | 是 | 待检测对象。 | 2031 2032**返回值:** 2033| 类型 | 说明 | 2034| -------- | -------- | 2035| boolean | 判断的结果,如果是内置包含的Int16Array数组类型为true,反之为false。 | 2036 2037**示例:** 2038 ```js 2039 var that = new util.types(); 2040 var result = that.isInt16Array(new Int16Array([])); 2041 ``` 2042 2043 2044### isInt32Array<sup>8+</sup> 2045 2046isInt32Array(value: Object): boolean 2047 2048检查输入的value是否是Int32Array数组类型。 2049 2050**系统能力:** SystemCapability.Utils.Lang 2051 2052**参数:** 2053| 参数名 | 类型 | 必填 | 说明 | 2054| -------- | -------- | -------- | -------- | 2055| value | Object | 是 | 待检测对象。 | 2056 2057**返回值:** 2058| 类型 | 说明 | 2059| -------- | -------- | 2060| boolean | 判断的结果,如果是内置包含的Int32Array数组类型为true,反之为false。 | 2061 2062**示例:** 2063 ```js 2064 var that = new util.types(); 2065 var result = that.isInt32Array(new Int32Array([])); 2066 ``` 2067 2068 2069### isMap<sup>8+</sup> 2070 2071isMap(value: Object): boolean 2072 2073检查输入的value是否是Map类型。 2074 2075**系统能力:** SystemCapability.Utils.Lang 2076 2077**参数:** 2078| 参数名 | 类型 | 必填 | 说明 | 2079| -------- | -------- | -------- | -------- | 2080| value | Object | 是 | 待检测对象。 | 2081 2082**返回值:** 2083| 类型 | 说明 | 2084| -------- | -------- | 2085| boolean | 判断的结果,如果是内置包含的Map类型为true,反之为false。 | 2086 2087**示例:** 2088 ```js 2089 var that = new util.types(); 2090 var result = that.isMap(new Map()); 2091 ``` 2092 2093 2094### isMapIterator<sup>8+</sup> 2095 2096isMapIterator(value: Object): boolean 2097 2098检查输入的value是否是Map的Iterator类型。 2099 2100**系统能力:** SystemCapability.Utils.Lang 2101 2102**参数:** 2103| 参数名 | 类型 | 必填 | 说明 | 2104| -------- | -------- | -------- | -------- | 2105| value | Object | 是 | 待检测对象。 | 2106 2107**返回值:** 2108| 类型 | 说明 | 2109| -------- | -------- | 2110| boolean | 判断的结果,如果是内置包含的Map的Iterator类型为true,反之为false。 | 2111 2112**示例:** 2113 ```js 2114 var that = new util.types(); 2115 const map = new Map(); 2116 var result = that.isMapIterator(map.keys()); 2117 ``` 2118 2119 2120### isNativeError<sup>8+</sup> 2121 2122isNativeError(value: Object): boolean 2123 2124检查输入的value是否是Error类型。 2125 2126**系统能力:** SystemCapability.Utils.Lang 2127 2128**参数:** 2129| 参数名 | 类型 | 必填 | 说明 | 2130| -------- | -------- | -------- | -------- | 2131| value | Object | 是 | 待检测对象。 | 2132 2133**返回值:** 2134| 类型 | 说明 | 2135| -------- | -------- | 2136| boolean | 判断的结果,如果是内置包含的Error类型为true,反之为false。 | 2137 2138**示例:** 2139 ```js 2140 var that = new util.types(); 2141 var result = that.isNativeError(new TypeError()); 2142 ``` 2143 2144 2145### isNumberObject<sup>8+</sup> 2146 2147isNumberObject(value: Object): boolean 2148 2149检查输入的value是否是Number对象类型。 2150 2151**系统能力:** SystemCapability.Utils.Lang 2152 2153**参数:** 2154| 参数名 | 类型 | 必填 | 说明 | 2155| -------- | -------- | -------- | -------- | 2156| value | Object | 是 | 待检测对象。 | 2157 2158**返回值:** 2159| 类型 | 说明 | 2160| -------- | -------- | 2161| boolean | 判断的结果,如果是内置包含的Number对象类型为true,反之为false。 | 2162 2163**示例:** 2164 ```js 2165 var that = new util.types(); 2166 var result = that.isNumberObject(new Number(0)); 2167 ``` 2168 2169 2170### isPromise<sup>8+</sup> 2171 2172isPromise(value: Object): boolean 2173 2174检查输入的value是否是Promise类型。 2175 2176**系统能力:** SystemCapability.Utils.Lang 2177 2178**参数:** 2179| 参数名 | 类型 | 必填 | 说明 | 2180| -------- | -------- | -------- | -------- | 2181| value | Object | 是 | 待检测对象。 | 2182 2183**返回值:** 2184| 类型 | 说明 | 2185| -------- | -------- | 2186| boolean | 判断的结果,如果是内置包含的Promise类型为true,反之为false。 | 2187 2188**示例:** 2189 ```js 2190 var that = new util.types(); 2191 var result = that.isPromise(Promise.resolve(1)); 2192 ``` 2193 2194 2195### isProxy<sup>8+</sup> 2196 2197isProxy(value: Object): boolean 2198 2199检查输入的value是否是Proxy类型。 2200 2201**系统能力:** SystemCapability.Utils.Lang 2202 2203**参数:** 2204| 参数名 | 类型 | 必填 | 说明 | 2205| -------- | -------- | -------- | -------- | 2206| value | Object | 是 | 待检测对象。 | 2207 2208**返回值:** 2209| 类型 | 说明 | 2210| -------- | -------- | 2211| boolean | 判断的结果,如果是内置包含的Proxy类型为true,反之为false。 | 2212 2213**示例:** 2214 ```js 2215 var that = new util.types(); 2216 const target = {}; 2217 const proxy = new Proxy(target, {}); 2218 var result = that.isProxy(proxy); 2219 ``` 2220 2221 2222### isRegExp<sup>8+</sup> 2223 2224isRegExp(value: Object): boolean 2225 2226检查输入的value是否是RegExp类型。 2227 2228**系统能力:** SystemCapability.Utils.Lang 2229 2230**参数:** 2231| 参数名 | 类型 | 必填 | 说明 | 2232| -------- | -------- | -------- | -------- | 2233| value | Object | 是 | 待检测对象。 | 2234 2235**返回值:** 2236| 类型 | 说明 | 2237| -------- | -------- | 2238| boolean | 判断的结果,如果是内置包含的RegExp类型为true,反之为false。 | 2239 2240**示例:** 2241 ```js 2242 var that = new util.types(); 2243 var result = that.isRegExp(new RegExp('abc')); 2244 ``` 2245 2246 2247### isSet<sup>8+</sup> 2248 2249isSet(value: Object): boolean 2250 2251检查输入的value是否是Set类型。 2252 2253**系统能力:** SystemCapability.Utils.Lang 2254 2255**参数:** 2256| 参数名 | 类型 | 必填 | 说明 | 2257| -------- | -------- | -------- | -------- | 2258| value | Object | 是 | 待检测对象。 | 2259 2260**返回值:** 2261| 类型 | 说明 | 2262| -------- | -------- | 2263| boolean | 判断的结果,如果是内置包含的Set类型为true,反之为false。 | 2264 2265**示例:** 2266 ```js 2267 var that = new util.types(); 2268 var result = that.isSet(new Set()); 2269 ``` 2270 2271 2272### isSetIterator<sup>8+</sup> 2273 2274isSetIterator(value: Object): boolean 2275 2276检查输入的value是否是Set的Iterator类型。 2277 2278**系统能力:** SystemCapability.Utils.Lang 2279 2280**参数:** 2281| 参数名 | 类型 | 必填 | 说明 | 2282| -------- | -------- | -------- | -------- | 2283| value | Object | 是 | 待检测对象。 | 2284 2285**返回值:** 2286| 类型 | 说明 | 2287| -------- | -------- | 2288| boolean | 判断的结果,如果是内置包含的Set的Iterator类型为true,反之为false。 | 2289 2290**示例:** 2291 ```js 2292 var that = new util.types(); 2293 const set = new Set(); 2294 var result = that.isSetIterator(set.keys()); 2295 ``` 2296 2297 2298### isStringObject<sup>8+</sup> 2299 2300isStringObject(value: Object): boolean 2301 2302检查输入的value是否是String对象类型。 2303 2304**系统能力:** SystemCapability.Utils.Lang 2305 2306**参数:** 2307| 参数名 | 类型 | 必填 | 说明 | 2308| -------- | -------- | -------- | -------- | 2309| value | Object | 是 | 待检测对象。 | 2310 2311**返回值:** 2312| 类型 | 说明 | 2313| -------- | -------- | 2314| boolean | 判断的结果,如果是内置包含的String对象类型为true,反之为false。 | 2315 2316**示例:** 2317 ```js 2318 var that = new util.types(); 2319 var result = that.isStringObject(new String('foo')); 2320 ``` 2321 2322 2323### isSymbolObjec<sup>8+</sup> 2324 2325isSymbolObject(value: Object): boolean 2326 2327检查输入的value是否是Symbol对象类型。 2328 2329**系统能力:** SystemCapability.Utils.Lang 2330 2331**参数:** 2332| 参数名 | 类型 | 必填 | 说明 | 2333| -------- | -------- | -------- | -------- | 2334| value | Object | 是 | 待检测对象。 | 2335 2336**返回值:** 2337| 类型 | 说明 | 2338| -------- | -------- | 2339| boolean | 判断的结果,如果是内置包含的Symbol对象类型为true,反之为false。 | 2340 2341**示例:** 2342 ```js 2343 var that = new util.types(); 2344 const symbols = Symbol('foo'); 2345 var result = that.isSymbolObject(Object(symbols)); 2346 ``` 2347 2348 2349### isTypedArray<sup>8+</sup> 2350 2351isTypedArray(value: Object): boolean 2352 2353检查输入的value是否是TypedArray类型的辅助类型。 2354 2355TypedArray类型的辅助类型,包括Int8Array、Int16Array、Int32Array、Uint8Array、Uint8ClampedArray、Uint16Array、Uint32Array、Float32Array、Float64Array、DataView。 2356 2357**系统能力:** SystemCapability.Utils.Lang 2358 2359**参数:** 2360| 参数名 | 类型 | 必填 | 说明 | 2361| -------- | -------- | -------- | -------- | 2362| value | Object | 是 | 待检测对象。 | 2363 2364**返回值:** 2365| 类型 | 说明 | 2366| -------- | -------- | 2367| boolean | 判断的结果,如果是内置包含的TypedArray包含的类型为true,反之为false。 | 2368 2369**示例:** 2370 ```js 2371 var that = new util.types(); 2372 var result = that.isTypedArray(new Float64Array([])); 2373 ``` 2374 2375 2376### isUint8Array<sup>8+</sup> 2377 2378isUint8Array(value: Object): boolean 2379 2380检查输入的value是否是Uint8Array数组类型。 2381 2382**系统能力:** SystemCapability.Utils.Lang 2383 2384**参数:** 2385| 参数名 | 类型 | 必填 | 说明 | 2386| -------- | -------- | -------- | -------- | 2387| value | Object | 是 | 待检测对象。 | 2388 2389**返回值:** 2390| 类型 | 说明 | 2391| -------- | -------- | 2392| boolean | 判断的结果,如果是内置包含的Uint8Array数组类型为true,反之为false。 | 2393 2394**示例:** 2395 ```js 2396 var that = new util.types(); 2397 var result = that.isUint8Array(new Uint8Array([])); 2398 ``` 2399 2400 2401### isUint8ClampedArray<sup>8+</sup> 2402 2403isUint8ClampedArray(value: Object): boolean 2404 2405检查输入的value是否是Uint8ClampedArray数组类型。 2406 2407**系统能力:** SystemCapability.Utils.Lang 2408 2409**参数:** 2410| 参数名 | 类型 | 必填 | 说明 | 2411| -------- | -------- | -------- | -------- | 2412| value | Object | 是 | 待检测对象。 | 2413 2414**返回值:** 2415| 类型 | 说明 | 2416| -------- | -------- | 2417| boolean | 判断的结果,如果是内置包含的Uint8ClampedArray数组类型为true,反之为false。 | 2418 2419**示例:** 2420 ```js 2421 var that = new util.types(); 2422 var result = that.isUint8ClampedArray(new Uint8ClampedArray([])); 2423 ``` 2424 2425 2426### isUint16Array<sup>8+</sup> 2427 2428isUint16Array(value: Object): boolean 2429 2430检查输入的value是否是Uint16Array数组类型。 2431 2432**系统能力:** SystemCapability.Utils.Lang 2433 2434**参数:** 2435| 参数名 | 类型 | 必填 | 说明 | 2436| -------- | -------- | -------- | -------- | 2437| value | Object | 是 | 待检测对象。 | 2438 2439**返回值:** 2440| 类型 | 说明 | 2441| -------- | -------- | 2442| boolean | 判断的结果,如果是内置包含的Uint16Array数组类型为true,反之为false。 | 2443 2444**示例:** 2445 ```js 2446 var that = new util.types(); 2447 var result = that.isUint16Array(new Uint16Array([])); 2448 ``` 2449 2450 2451### isUint32Array<sup>8+</sup> 2452 2453isUint32Array(value: Object): boolean 2454 2455检查输入的value是否是Uint32Array数组类型。 2456 2457**系统能力:** SystemCapability.Utils.Lang 2458 2459**参数:** 2460| 参数名 | 类型 | 必填 | 说明 | 2461| -------- | -------- | -------- | -------- | 2462| value | Object | 是 | 待检测对象。 | 2463 2464**返回值:** 2465| 类型 | 说明 | 2466| -------- | -------- | 2467| boolean | 判断的结果,如果是内置包含的Uint32Array数组类型为true,反之为false。 | 2468 2469**示例:** 2470 ```js 2471 var that = new util.types(); 2472 var result = that.isUint32Array(new Uint32Array([])); 2473 ``` 2474 2475 2476### isWeakMap<sup>8+</sup> 2477 2478isWeakMap(value: Object): boolean 2479 2480检查输入的value是否是WeakMap类型。 2481 2482**系统能力:** SystemCapability.Utils.Lang 2483 2484**参数:** 2485| 参数名 | 类型 | 必填 | 说明 | 2486| -------- | -------- | -------- | -------- | 2487| value | Object | 是 | 待检测对象。 | 2488 2489**返回值:** 2490| 类型 | 说明 | 2491| -------- | -------- | 2492| boolean | 判断的结果,如果是内置包含的WeakMap类型为true,反之为false。 | 2493 2494**示例:** 2495 ```js 2496 var that = new util.types(); 2497 var result = that.isWeakMap(new WeakMap()); 2498 ``` 2499 2500 2501### isWeakSet<sup>8+</sup> 2502 2503isWeakSet(value: Object): boolean 2504 2505检查输入的value是否是WeakSet类型。 2506 2507**系统能力:** SystemCapability.Utils.Lang 2508 2509**参数:** 2510| 参数名 | 类型 | 必填 | 说明 | 2511| -------- | -------- | -------- | -------- | 2512| value | Object | 是 | 待检测对象。 | 2513 2514**返回值:** 2515| 类型 | 说明 | 2516| -------- | -------- | 2517| boolean | 判断的结果,如果是内置包含的WeakSet类型为true,反之为false。 | 2518 2519**示例:** 2520 ```js 2521 var that = new util.types(); 2522 var result = that.isWeakSet(new WeakSet()); 2523 ``` 2524