专栏首页JAVA人生/面试技巧typeof运算对于null会返回“Object"

typeof运算对于null会返回“Object"

您也许会问,为什么 typeof 运算符对于 null 值会返回 "Object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。

对变量或值调用 typeof 运算符将返回下列值之一:

  • undefined - 如果变量是 Undefined 类型的
  • boolean - 如果变量是 Boolean 类型的
  • number - 如果变量是 Number 类型的
  • string - 如果变量是 String 类型的
  • object - 如果变量是一种引用类型或 Null 类型的

这里需要注意的是:alert(typeof null); //输出的是object 。null被认为是对象的占位符,但仍然算做原始数据类型

另一种只有一个值的类型是 Null,它只有一个专用值 null,即它的字面量。值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。

alert(null == undefined); //输出 "true"

尽管这两个值相等,但它们的含义不同。undefined 是声明了变量但未对其初始化时赋予该变量的值,null 则用于表示尚未存在的对象(在讨论 typeof 运算符时,简单地介绍过这一点)。如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是 null。

2.Null类型 Null类型(空型)只有一个值就是:null。 <script type="text/javascript">

undefined实际上是从值null派生来的,所以显示true undefined是声明了变量但是未赋值,null是找不到对象。

alert(null == undefined); //显示true </script>

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于Taro的的微信小程序分享图片功能实践

    在各种小程序(微信、百度、支付宝)、H5、NativeApp 纷纷扰扰的当下,给大家强烈安利一款基于React的多终端开发利器:京东Taro(泰罗·奥特曼),T...

    胡哥有话说
  • 微信小程序项目小点一

    在微信小程序中,自定义导航栏的颜色 可以在app.json的window里面添加navigationBarBackgroundColor属性。

    生南星
  • Vue中使用CSS预处理器 stylus以及配置全局变量的方法

    不得不说CSS预处理器(Sass/Less/Stylus)极大的方便了前端研发攻城狮编写CSS样式,提供了变量定义、可嵌套的选择器、mixins混合书写、函数定...

    胡哥有话说
  • [重要] 深入理解 JavaScript 中的作用域和上下文

    在本教程中,我们将深入学习 JavaScript 中作用域(Scope)的一切。 所以,来吧。

    胡哥有话说
  • vue之router文档

    查看 dist 目录. 注意,dist 目录下的文件是最新稳定版,不会同步更新到 dev 分支上的最新代码

    开发架构二三事
  • 初探Vue的Mixin混入

    在停更了近一周之后(假期已完美结束),胡哥又开启了文章的每日更新,与大家一起分享、讨论大前端的技术原理与项目实践。抽丝剥茧,让技术方案可见可闻;归纳整理,让知识...

    胡哥有话说
  • 构建工具篇 - react 的 yarn eject 构建命令都做了什么

    前段时间,一直在研究 react 技术栈,对于项目的构建方面,又有一定的特殊需求,通过 npx create-react-app [filename] 安装以后...

    胡哥有话说
  • CVE-2019-2725/CNVD-C-2019-48814终章——报文回显

    这是一款很神奇的工具。神奇在运行它可以得到回显且能找到正确的webapp发布路径,目前已知的xmldecoder的exp一般都是写webapp默认路径。当用户安...

    洛米唯熊
  • javascript之Promise对象知识点整理

    Promise规范https://promisesaplus.com/中对Promise的状态的定义:

    开发架构二三事
  • [Swagger] Springfox Swagger 项目接口自动化管理平台

    swagger相关maven文件放在公共父层,在parent-pom中,springfox的scope设置为provided,Springfox以及其依赖的ja...

    架构探险之道

扫码关注云+社区

领取腾讯云代金券