写点什么

null 是原始类型,但为什么 typeof null 的结果是 object?

作者:Geek_fed966
  • 2024-05-01
    河北
  • 本文字数:281 字

    阅读完需:约 1 分钟

前端面试题 - null 是原始类型,但为什么 typeof null 的结果是 object?

造成这个结果的原因是 null 的内存地址是以 000 开头,而 js 会将 000 开头的内存地址视为 object。通过isNull()来判断一个值是不是 null 类型,但值得注意的是isNaN()会进行隐式转换。typeof 无法精确的检测 null、Object、Array。获取精确类型的话,可以自己写一个:


const getType = (value: any) => {  const str: string = Object.prototype.toString.call(value)  const typeStrArray = str.substring(1, str.length - 1).split(' ')  return typeStrArray[1].toLowerCase()}
复制代码


通俗易懂的前端面试题网站: https://www.front-interview.com


用户头像

Geek_fed966

关注

还未添加个人签名 2023-10-07 加入

还未添加个人简介

评论

发布
暂无评论
null是原始类型,但为什么typeof null的结果是object?_Geek_fed966_InfoQ写作社区