如何优雅的判断js的所有类型?

在 JavaScript 中,可以使用 typeof 操作符来判断一个变量的数据类型。但是,对于一些特殊的数据类型,例如 null 和 array,typeof 操作符不能正确识别。

因此,最佳做法是使用Object.prototype.toString.call() 方法来判断一个变量的数据类型。该方法返回一个字符串,表示该变量的类型,可以通过分析该字符串来判断变量的数据类型。

下面是一个示例函数,用于优雅地判断 JavaScript 中的所有类型:

javascriptCopy codefunction getType(obj) {
return Object.prototype.toString.call(obj).slice(8, -1);
}

然后,您可以使用该函数来判断变量的数据类型:

javascriptCopy codelet num = 123;
console.log(getType(num)); // "Number"

let str = "Hello World";
console.log(getType(str)); // "String"

let arr = [1, 2, 3];
console.log(getType(arr)); // "Array"

let obj = { name: "John Doe" };
console.log(getType(obj)); // "Object"

let func = function() {};
console.log(getType(func)); // "Function"

let n = null;
console.log(getType(n)); // "Null"

let u = undefined;
console.log(getType(u)); // "Undefined"

如果您需要更细粒度的数据类型判断,比如判断是否是数组、对象等,则可以使用以下方法:

javascriptCopy codelet num = 123;
console.log(Array.isArray(num)); // false
console.log(typeof num === 'object'); // false
console.log(num instanceof Object); // false

let arr = [1, 2, 3];
console.log(Array.isArray(arr)); // true
console.log(typeof arr === 'object'); // true
console.log(arr instanceof Object); // true

let obj = { name: "John Doe" };
console.log(Array.isArray(obj)); // false
console.log(typeof obj === 'object'); // true
console.log(obj instanceof Object); // true

网页题目:如何优雅的判断js的所有类型?
本文链接:http://www.shufengxianlan.com/qtweb/news37/368437.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联