web前端:null和undefined的异同

    作者:xuxuya~更新于: 2020-03-05 21:26:49

    Web开发

      NULL是在计算中具有保留的值,用于指示指针不引用有效对象。开发程序通常使用空指针来表示条件,例如未知长度列表的结尾或未执行某些操作;这种空指针的使用可以与可空类型和选项类型中的Nothing值进行比较。

      不知道你们有没有发现,null和undefined竟然有这样的关系:

      null==undefined//true

      null===undefined//false

      那就来看看他们的异同吧。

      相同点:

      null和undefined在if语句中,都是false。

      大体上两者都是代表无

      不同点:

      typeofnull==="object",typeofundefined==="undefined"这就是为什么null!==undefined

      undefined是代表调用一个值而该值却没有赋值,这时候默认则为undefined

      null是一个很特殊的对象,最为常见的一个用法就是作为参数传入(说明该参数不是对象)

      设置为null的变量或者对象会被内存收集器回收

      null转为数字类型值为0,而undefined转为数字类型为NaN(NotaNumber)

      空指针不应与未初始化的指针混淆:保证空指针与指向有效对象的任何指针进行比较。但是,根据语言和实现,未初始化的指针可能没有任何此类保证。它可能与其他有效指针相等;或者它可能比较等于空指针。它可能在不同的时间做两件事。

课课家教育

未登录