null与undefined的区别

Null 与Undefined 的异同

简单区分

总的来说 nullundefined 都代表空,主要区别在于 undefined 表示尚未初始化的变量的值,而 null 表示该变量有意缺少对象指向.

  • undefined

  • 这个变量从根本上就没有定义

  • 隐藏式 空值

  • null

  • 这个值只是单纯的被声明,并未指向任何对象

  • 声明式 空值

1.比较值 非严格等号的时候两者相等,严格等号的时候,二者不相等

console.log(null == undefined);  //true  
console.log(null === undefined); //false

2.typeof

    console.log(typeof null);      //object
    console.log(typeof undefined);  //undefined

2.两者的相似性

在if判断的时候 都会自动被转化为false

    console.log("------------");
    if(!null){
      console.log("null if false");
    } 
   //null if false
    
    if(!undefined){
      console.log("undefined if false");
    }
   //undefined if false

3.两者默认的转化值不一样

null转化为0,undefined转化为NaN

    console.log(Number(null)); //0
    console.log(null + 10);    //10

    console.log(Number(undefined));  //NaN
    console.log(undefined + 10);      //NaN

总结

关于使用null还是undefined?

个人更偏向于使用null

posted @ 2023-03-07 18:59  一粒金灿米  阅读(27)  评论(0编辑  收藏  举报