zoukankan      html  css  js  c++  java
  • 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的使用,只是语义化不同,使用方式约定俗成

  • 相关阅读:
    Spring,SpringMVC,MyBatis,Hibernate,Servlet的生命周期,jsp有哪些内置对象,Tomcat,Cookie和Session的作用以及区别,oracle,MYSQL等面试题总结
    webpack配置react--ts项目
    防抖(debounce)和节流(throttle)
    js~eventLoop 事件循环
    在Vue 项目中使用echarts
    JS
    ImmuableJS 简单入门用法
    Redux-小案例-加一操作
    Oberver.js
    react-jsx语法
  • 原文地址:https://www.cnblogs.com/xinxinxiangrong7/p/11424153.html
Copyright © 2011-2022 走看看