JS笔试题(4)类型检测

JS笔试题(4)类型检测

题目

console.log(typeof null);

console.log(null instanceof Object);

控制台的打印结果是什么?


JS笔试题(4)类型检测

答案:object  false

解析:

typeof方法返回一个字符串,来表示数据的类型。 

typeof undefined --- undefined 

typeof null --- object 

typeof 布尔值 --- boolean 

typeof 数值 --- number 

typeof 字符串 --- string 

typeof 任何对象 --- object (null为特殊对象)

typeof 函数对象 --- function 

typeof null为'object'这属于历史遗留下来的,有api文档给出的解释如下: “在 JavaScript 最初的实现中,JavaScript 中的值是由一个表示类型的标签和实际数据值表示的。对象的类型标签是 0。由于 null 代表的是空指针(大多数平台下值为 0x00),因此,null的类型标签也成为了 0,typeof null就错误的返回了‘object’。”(引自MDN api 文档)

instanceof运算符可以用来判断某个构造函数的prototype属性是否存在于另外一个要检测对象的原型链上。 

null与object都是js的数据类型,并不属于同一数据类型,null并不是有object原型创建出来的,object的原型链上不会存在null相关的内容。

故null instanceof Object为false。



JS笔试题(4)类型检测


始发于微信公众号: 前端麻辣烫

发表评论