JS笔试题(4)类型检测

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> JS笔试题(4)类型检测

题目

console.log(typeof null);

console.log(null instanceof Object);

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

答案: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)类型检测

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

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> JS笔试题(4)类型检测