首页 > 其他分享 >null与undefined的区别

null与undefined的区别

时间:2023-03-07 19:12:35浏览次数:38  
标签:false log 区别 NaN console 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

标签:false,log,区别,NaN,console,null,undefined
From: https://www.cnblogs.com/zy-feng/p/17189223.html

相关文章

  • Unity 测试Transform cache和不cache的区别
    关于Transform的cache问题:大致看了下:https://forum.unity.com/threads/cache-transform-really-needed.356875/Transformcache的却会好一点点 有种Lazy的方式可以......
  • udp客户端 用不用 bind 的区别
    无连接的socket的客户端和服务端以及面向连接socket的服务端通过调用bind函数来配置本地信息。使用bind函数时,通过将my_addr.sin_port置为0,函数会自动为你选择一个未占用的......
  • String、StringBuffer、StringBuilder区别
    老生常谈问题:String、StringBuffer、StringBuilder区别它们的相同点是都用来封装字符串;都实现了CharSequence接口。区别执行速度线程安全使用场景是否实现equals......
  • Spring中context:annotation-config和context:component-scan区别
    Spring中context:annotation-config和context:component-scan区别<context:annotation-config/>注解扫描是针对已经在Spring容器里注册过的Bean,即特定的一些后置bea......
  • Python2.0与Python3.0的区别
    Python2.0与Python3.0的区别输出方面Python2.0使用print关键字进行输出,比如:print“Hello”;Python3.0使用print()函数,比如:print("Hello")。输入方面Python2.0......
  • HashMap在Jdk1.7和Jdk1.8中的区别
    底层数据结构不同。在Jdk1.7中,HashMap是基于数组+链表的形式实现。而在Jdk1.8中,是由数组+链表+红黑树的形式实现。hashcode计算的复杂度不同。Jdk1.7中的hashCode计算大......
  • ArrayList和LinkedList的区别
    实现接口不同。两个都实现了List接口,LinkedList还实现了Deque接口。底层实现不同。ArrayList是基于数组实现,LinkedList是基于链表实现。效率存在差异。由于底层实现不同......
  • 服务器和电脑主机的区别?
    服务器主要应用于企业和个人的工作中,和家用的主机不同,服务器的任务是保证任何时候用户都能够通过终端顺利访问服务器,并传输和共享服务器中的数据。 1.服务器最重要的并......
  • mysql中 Char 和 varchar 的区别?
    1、char的长度是固定不变,而varchar的长度是可变的例如值:abc类型char(10),存储值为:abc_______(abc+7个空格)类型varchar(10),存储值为:abc(自动缩短为3个字母的长......
  • Google独立站和与企业官网的区别是什么?
    google独立站和与企业官网的区别是什么?答案是:独立站通过谷歌SEO优化可以更好的获取自然排名的流量。随着互联网的不断发展,企业越来越重视自身网站的建设和优化,而在企业网站......