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

boyanx2个月前技术教程10

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

相关文章

微信分享给好友实现页面跳转

下面微信跳转的方式主要介绍了两种:微信分享给好友和微信扫码跳转。前提:从微信公众号那边获取appid,secret,grantType四个参数备用。1、 绑定域名先登陆公众平台进入“公众号设置”的“功...

一份相对完整的转义字符对照表

包括:常见转义字符、ASCII转义字符、HTML转义字符、XML转义字符、URL转义字符等一、常见转义字符转义字符意义示例\a响铃(Bell)\a\b退格(Backspace)Hello\bWorld...

VUE 项目中使用iframe及传值

最近做了一个这样的业务处理,在uniapp 项目中使用第三方页面,需要在当前的页面中把一些数据传给第三方,第三方处理后返回一些数据给当前页面,后续其他的操作会用到当前的数据。当前页面-发送数据(ifr...

python入门-day30:项目优化与总结

我们将优化之前的 Flask 聊天机器人,添加记忆功能,并总结 30 天学习成果,最后提出下一步建议。优化聊天机器人 - 添加记忆功能为了让聊天机器人更智能,我们将改进上下文管理,添加长期记忆功能,使...

开源文档预览项目 kkFileView (9.9k star) ,快速入门

kkFileView 是一款文件文档在线预览解决方案,采用流行的 Spring Boot 框架构建,易于上手和部署。该项目基本支持主流办公文档的在线预览,包括但不限于 doc、docx、xls、xls...

重磅发布!时间终于确定

]|\[sS])*"|'(?:[^\' ]|\[sS])*'|[^)}]+)s*)/g,l=window.testenv_reshost||window.__moon_host||"res.wx.qq...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。