最近又遇到到undefined与null的使用,之前一直没弄懂,只知道它们同字符串、数字、布尔一样是不同的数据类型,自己查了了,下面总结下它们的区别。
定义
- undefined : 未定义。 当变量只声明,但是没有赋值。此时默认值是undefined
通俗的讲,undefined相当于期房。 买了房,但是房子还没建出来
- null : 有定义为空值。 变量有赋值但是为空
通俗的讲,null相当于毛坯房。买了房,房子已经建好了,但是房子没住人,里面是空的
相同点与不同点
- 相同点:值相等,转布尔类型都是false
- 不同点:数据类型不同,转number类型值不同
应用场景
- undefined:开发中经常声明一个变量,等待传送过来的数据。如果我们不知道这个数据是否传递过来,此时我们可以通过检测这个变量是不是undefined,就判断用户是否有数据传递过来
- null:把null作为尚未创建的对象,如果有个变量里面存放的是一个对象,但是对象还没创建好,可以先给个null