怎么实现一个类型判断函数
2024-01-07 21:19:42
- 判断为空
- 判断基础类型
- 使用
Object.prototype.toString.call(target)
来判断引用类型
注意:一定是使用call
来调用,否则是判断的Object.prototype的类型此时要先判断是否为基本类型是因为:虽然Object.prototype.toString.call()
能判断出某个值是:number/string/boolean,但是其实在包装的时候是把他们先转变成对象然后再判断类型的。但是JS中的包装类型和原始类型还是有区别的,因为对于一个包装类型来说,typeof的值是object
/**
* 类型判断
*/
function getType(target) {
//先处理最特殊的Null
if (target === null) {
return "null";
}
//判断是不是基础类型
const typeOfT = typeof target;
if (typeOfT !== "object") {
return typeOfT;
}
//肯定是引用类型了
const template = {
"[object Object]": "object",
"[object Array]": "array",
// 一些包装类型
"[object String]": "object - string",
"[object Number]": "object - number",
"[object Boolean]": "object - boolean",
};
const typeStr = Object.prototype.toString.call(target);
return template[typeStr];
}
文章来源:https://blog.csdn.net/shrfgbfg/article/details/135423885
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!