1.判断对象类型的方法:
//万能的类型判断方法,可以判断所有对象的类型
const objectToString = Object.prototype.toString;
const toTypeString = (value) => objectToString.call(value);
//判断是否是Array
const isArray = Array.isArray;
//判断是否是Map
const isMap = (val) => toTypeString(val) === '[object Map]';
//判断是否是Set
const isSet = (val) => toTypeString(val) === '[object Set]';
//判断是否是Date
const isDate = (val) => val instanceof Date;
//判断是否是Function
const isFunction = (val) => typeof val === 'function';
//判断是否是String
const isString = (val) => typeof val === 'string';
//判断是否是Symbol
const isSymbol = (val) => typeof val === 'symbol';
//判断是否是非空对象
const isObject = (val) => val !== null && typeof val === 'object';
//判断是否是Promise
const isPromise = (val) => {
return isObject(val) && isFunction(val.then) && isFunction(val.catch);
};
//判断是否是普通的Object对象
const isPlainObject = (val) => toTypeString(val) === '[object Object]';
//特别注意:
1.typeof 对象判断方法:
typeof null // "object";
typeof undefined //"undefined"
2.声明未赋值的变量的类型为undefined:
let abc //undefined
2.判断对象是否有某个属性的方法:
const hasOwnProperty = Object.prototype.hasOwnProperty;
const hasOwn = (val, key) => hasOwnProperty.call(val, key);
3.JavaScript的全局变量对象:
Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,
decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,
Object,Boolean,String,RegExp,Map,Set,JSON,Intl
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。