1-js基础-变量类型判断

60 阅读1分钟

JavaScript 中如何检测一个变量是一个 String 类型?

答案:三种方法(typeof、constructor、Object.prototype.toString.call())

解析:

typeof
typeof('123') === "string" // true
typeof '123' === "string" // true


②constructor
'123'.constructor === String // trueObject.prototype.toString.call()
Object.prototype.toString.call('123') === '[object String]' // true
为什么typeof function时候返回的是Function

function本质上也是一个对象,但是function对象与普通对象相比,器内部有一个[[Call]]方法,用来表示这个对象是可调用的,typeof操作符在判断Object时候,如果内部实现了[[Call]]方法,就返回function。

其他解析:function实际上是object的一个子类型。具体来说,函数是可调用对象。