编程教育资源分享平台

网站首页 > 后端开发 正文

判断JavaScript的常用对象类型的方法和是否包含某个属性的判断

luoriw 2024-02-01 14:30:03 后端开发 13 ℃ 0 评论

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表
最新留言