美文网首页
JavaScript中的var、let和const

JavaScript中的var、let和const

作者: 爱讲鸡汤的油腻大叔 | 来源:发表于2019-07-18 15:20 被阅读0次

    首先,我们必须搞清楚ECMAScriptJavaScript
    ECMA是一个将信息标准化的组织,简单来说,就是JavaScript被提交到ECMA进行标准化,由此诞生一个新的语言标准,即ECMAScript,而JavaScript是该标准下的实现
    我们常说的es5是指200912月发布的ECMAScript5es620156月发布的ECMAScript2015,后将ECMAScript改名为ECMAScript6

    varletconst都是声明变量的关键字,letconstes6引入的,那他们之间互相有什么区别呢?

    es6出现之后,我们更应该少用var关键字,为什么呢?

    es5为止,我们可以在代码中任意位置声明变量,甚至重写已经声明的变量

    var fw = "Vue";
    var fw = "React";
    console.log(fw);    => React
    

    但如果改用letconst关键字声明,会抛出变量已经被声明的错误

    let和const的行为和一样,唯一的区别在于,用const声明的变量是只读的,也就是我们所说的常量

    const PI = 3.1415926535;
    PI = 3;
    console.log(PI);  =>  抛出异常 "PI" is read-only
    

    这里需要注意的是
    对于const声明的非对象类型的变量(数、布尔值、字符串等),我们不能改变变量的值
    但是对于const声明的对象,只读的const允许我们去修改或重新赋值对象的属性,但变量引用的内存地址不能被修改,也就是不能对这个变量重新赋值
    简单来说,就是可以重写对象的属性,但是不能重新这个对象

    const FW = {
          name: "Vue"
        };
        FW.name = "React";
        console.log(FW.name);   =>  React
      }
    // 抛出异常 "FW" is read-only
    FW = {
      name: "Angular"
    }
    

    相关文章

      网友评论

          本文标题:JavaScript中的var、let和const

          本文链接:https://www.haomeiwen.com/subject/fvzklctx.html