前端面试 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中如何判断数据类型?

前端面试题

前端面试题整理---JS基础

javascript 面试题目

JS万字整理JavaScript相关基础技术面试题总结 - 前端面试必备 - 基础知识总结 - 秋招冲鸭

web前端面试题必看