undefined与null的区别

273 阅读1分钟

最近又遇到到undefined与null的使用,之前一直没弄懂,只知道它们同字符串、数字、布尔一样是不同的数据类型,自己查了了,下面总结下它们的区别。

定义

  • undefined : 未定义。 当变量只声明,但是没有赋值。此时默认值是undefined

通俗的讲,undefined相当于期房。 买了房,但是房子还没建出来

  • null : 有定义为空值。 变量有赋值但是为空

通俗的讲,null相当于毛坯房。买了房,房子已经建好了,但是房子没住人,里面是空的

相同点与不同点

  • 相同点:值相等,转布尔类型都是false

1645325214200.png

  • 不同点:数据类型不同,转number类型值不同

1645325340774.png

应用场景

  • undefined:开发中经常声明一个变量,等待传送过来的数据。如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否有数据传递过来
  • null:把null作为尚未创建的对象,如果有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null