• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# util工具函数
2
3
4> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
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.Lang140
141| 名称 | 参数类型 | 可读 | 可写 | 说明 |
142| -------- | -------- | -------- | -------- | -------- |
143| encoding | string | 是 | 否 | 编码格式。<br/>-&nbsp;支持格式:utf-8。 |
144| fatal | boolean | 是 | 否 | 是否显示致命错误。 |
145| ignoreBOM | boolean | 是 | 否 | 是否忽略BOM(byte&nbsp;order&nbsp;marker)标记,默认值为false&nbsp;,表示解码结果包含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.Lang221
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.Lang566
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&nbsp;\|&nbsp;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&nbsp;[] | 按从最近访问到最近最少访问的顺序返回当前缓冲区中所有值的列表。 |
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&nbsp;[] | 按升序返回当前缓冲区中所有键的列表,从最近访问到最近最少访问。 |
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&nbsp;\|&nbsp;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 | 如果缓冲区包含指定的键,则返回&nbsp;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&lt;[K,V]&gt;
1030
1031允许迭代包含在这个对象中的所有键值对。
1032
1033**系统能力:** SystemCapability.Utils.Lang
1034
1035**返回值:**
1036| 类型 | 说明 |
1037| -------- | -------- |
1038| [K,&nbsp;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&lt;[K, V]&gt;
1051
1052返回一个键值对形式的二维数组。
1053
1054**系统能力:** SystemCapability.Utils.Lang
1055
1056**返回值:**
1057| 类型 | 说明 |
1058| -------- | -------- |
1059| [K,&nbsp;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&nbsp;\|&nbsp;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&lt;Uint8Array&gt;
1531
1532通过输入参数异步编码后输出对应文本。
1533
1534**系统能力:** SystemCapability.Utils.Lang
1535
1536**参数:**
1537| 参数名 | 类型 | 必填 | 说明 |
1538| -------- | -------- | -------- | -------- |
1539| src | Uint8Array | 是 | 异步编码输入Uint8数组。 |
1540
1541**返回值:**
1542| 类型 | 说明 |
1543| -------- | -------- |
1544| Promise&lt;Uint8Array&gt; | 返回异步编码后新分配的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&lt;string&gt;
1562
1563通过输入参数异步编码后输出对应文本。
1564
1565**系统能力:** SystemCapability.Utils.Lang
1566
1567**参数:**
1568| 参数名 | 类型 | 必填 | 说明 |
1569| -------- | -------- | -------- | -------- |
1570| src | Uint8Array | 是 | 异步编码输入Uint8数组。 |
1571
1572**返回值:**
1573| 类型 | 说明 |
1574| -------- | -------- |
1575| Promise&lt;string&gt; | 返回异步编码后的字符串。 |
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&lt;Uint8Array&gt;
1590
1591通过输入参数异步解码后输出对应文本。
1592
1593**系统能力:** SystemCapability.Utils.Lang
1594
1595**参数:**
1596| 参数名 | 类型 | 必填 | 说明 |
1597| -------- | -------- | -------- | -------- |
1598| src | Uint8Array&nbsp;\|&nbsp;string | 是 | 异步解码输入Uint8数组或者字符串。 |
1599
1600**返回值:**
1601| 类型 | 说明 |
1602| -------- | -------- |
1603| Promise&lt;Uint8Array&gt; | 返回异步解码后新分配的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&nbsp;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