前端面试 JavaScript— typeof 是否能正确判断类型?
Posted aiguangyuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端面试 JavaScript— typeof 是否能正确判断类型?相关的知识,希望对你有一定的参考价值。
在javascript中中,对于原始类型来说,除了 null 都可以调用typeof显示正确的类型。
console.log(typeof 1); // 'number'
console.log(typeof'1'); // 'string'
console.log(typeof undefined); // 'undefined'
console.log(typeof true); // 'boolean'
console.log(typeof 4n); // 'bigint'
console.log(typeof Symbol()); // 'symbol'
但对于引用数据类型,除了函数之外,都会显示"object"。
console.log(typeof console.log); // 'function'
console.log(typeof []); // 'object'
console.log(typeof {}); // 'object'
因此采用typeof判断对象数据类型是不合适的,采用instanceof会更好,instanceof的原理是基于原型链的查询,只要处于原型链中,判断永远为true。
console.log([] instanceof Array); // true
console.log({} instanceof Object); // true
以上是关于前端面试 JavaScript— typeof 是否能正确判断类型?的主要内容,如果未能解决你的问题,请参考以下文章
前端最基础面试题:说说JavaScript中如何判断数据类型?