JavaScript面试题(七)

说一说JavaScript有几种方法判断变量的类型?


一、JavaScript判断变量的类型方法

JavaScript有4种方法判断变量的类型分别是:

    typeof instanceof Object.prototype.toString.call()(对象原型链判断方法) constructor (用于引用数据类型)
  1. typeof:常用于判断基本数据类型,对于引用数据类型除了function返回function,其余全部返回object。
  2. instanceof:主要用于区分引用数据类型,检测方法是检测的类型在当前实例的原型链上,用其检测出来的结果都是true,不太适合用于简单数据类型的检测,检测过程繁琐且对于简单数据类型中的undefined, null, symbol检测不出来。
  3. constructor:用于检测引用数据类型,检测方法是获取实例的构造函数判断和某个类是否相同,如果相同就说明该数据是符合那个数据类型的,这种方法不会把原型链上的其他类也加入进来,避免了原型链的干扰。
  4. Object.prototype.toString.call():适用于所有类型的判断检测,检测方法是Object.prototype.toString.call(数据) 返回的是该数据类型的字符串。

这四种判断数据类型的方法中,各种数据类型都能检测且检测精准的就是Object.prototype.toString.call()这种方法。

经验分享 程序员 微信小程序 职场和发展