📅  最后修改于: 2023-12-03 14:44:40.873000             🧑  作者: Mango
util.types.isMap()
方法util.types.isMap()
方法是Node.js提供的一个工具方法,用于判断给定的变量是否为Map数据类型。
本方法已从Node.js v15.0.0开始引入。
util.types.isMap(value)
value
:要判断的变量。value
是Map数据类型,则返回true
,否则返回false
。const util = require('util');
const map = new Map([['name', '张三'], ['age', 18]]);
console.log(util.types.isMap(map)); // 输出 true
const obj = { name: '张三', age: 18 };
console.log(util.types.isMap(obj)); // 输出 false
const arr = [['name', '张三'], ['age', 18]];
console.log(util.types.isMap(arr)); // 输出 false
const util = require('util');
class CustomMap {
constructor() {
this.map = new Map();
}
set(key, value) {
this.map.set(key, value);
}
has(key) {
return this.map.has(key);
}
get size() {
return this.map.size;
}
}
const customMap = new CustomMap();
customMap.set('name', '张三');
customMap.set('age', 18);
console.log(util.types.isMap(customMap)); // 输出 false
class CustomMap2 extends Map {}
const customMap2 = new CustomMap2([['name', '张三'], ['age', 18]]);
console.log(util.types.isMap(customMap2)); // 输出 true
util.types.isMap()
方法判断的是变量是否为Map数据类型,即使用new Map()
创建的实例。如果变量并不是通过new Map()
创建的实例,则返回false
。
尽管 JavaScript 内置的对象Map.prototype
也具有Map的标识符,但它不会被utility.types.isMap所检测。