引言
工作中我们经常会看到一些为空提示,有时为0,有时为null,有时为undefined,但这些空值到底有什么区别呢? 今天我们就通过图解的形式来向大家形象的解释这几个空值之间的区别
图解 (注:图片来源于百度图库)
Non-zero value表示非零值,与0值对立,该对象存在,且值非零,资源尚未消耗殆尽
00表示值为零,是具有具体意义的,与其他数值对象同等,只是其值为0,而不是为空
nullnull用于表示无效的、零值的,其在计算机中并不是说完全没有值,实际上null指向了一个特殊的保留值,用于表示指针不引用有效对象,也就是我们常说的空指针。null在java中是会当当成一个对象来处理的。所以很多时候进行数值转换时,null会被自动转为0。实际上这不符合我们某些自然场景,于是乎就出现了undefined
我们常常用null来释放一个值的使用,比如将对象设置为null,表示释放该对象之前赋予的资源。也就是我们主观希望设置该值为空时,使用null
undefinedundefined表示没有定义的或者不明确的,或者说缺少值,常用于该对象应该有值,但是没有被定义的场景