• ECMAScript---布尔类型、null、undefined详解


    布尔类型中 至只有 true和false

    在开发中它是非常重要的两个值,尤其是在条件判断中

    如何把其他类型转换为布尔类型?

    1、Boolean()

    Boolean(1); //true
    Boolean(100); //true
    Boolean(-122);//true
    Boolean(NaN);//false
    Boolean(0); //false

    2、! :取反  先把其他数据类型转换为布尔类型,再取反

    ! '字符串' //false
    !' ' //false
    !0 //true
    !1 //false

    3、!! :取两次反,等价于没有取反,直接转换为布尔类型

    !!null; //false
    !!undefined; //false
    !!0 ; //false
    !!' '; //false
    !!NaN ;//false
    !![] ; //true
    !! { }; //true

    规律:在js中,只有 0 、NaN 、空字符串、null 、undefined 这个5个值转换成布尔为false,其余都转换为true

    -----------------------------------------------------

    null && undefined详解:

    都是代表空或者没有的意思

    null:空对象指针

    undefined:未定义,只有js中有

    null和undefined区别:

    转换为数字后的不同,null转换数字是0,undefined转换数字是NaN

    null一般是意料之中的没有,暂时没有,使用时一般先手动赋值为null,后面使用的时候再次会赋值

    undefined 不是人为手动控制的,大部分都是浏览器自主为空,后面可以赋值也可以不复制

    var num=null; 
    num=12;
    
    var m; //此时m的值浏览器分配的是 undefined 

    总结:其实null和undefined使用上没有太多区别,就好比 div和p的使用,只是语义化不同,使用方式约定俗成

  • 相关阅读:
    Ellipsis 的升级版 line-clamp
    Angular7里面实现 debounce search
    闭包、迭代器
    Day10 函数的进阶
    函数
    文件的操作
    Day 07基础数据补充、set、深浅拷贝
    小数据池,编码和解码
    字典
    列表、元祖的操作
  • 原文地址:https://www.cnblogs.com/xinxinxiangrong7/p/11424153.html
Copyright © 2020-2023  润新知