美文网首页Web前端之路
ES6变量的两种命名方式

ES6变量的两种命名方式

作者: 燕妮666_ | 来源:发表于2017-07-12 00:05 被阅读275次

    ES6变量的两种命名方式#

    es6是ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在2015年6月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
    它完善了ES5的命名规范,它又重新发布了两个新的命名变量的方式:letconst,但是let声明的变量只在它所在的代码块有效。

      let a = 10;
      var b = 1;
    }
    
    a // ReferenceError: a is not defined.
    b // 1
    
    1. for循环的计数器,就很适合let,比如我之前遇到一个问题,就是一个ul中有很多li,要想点击每个li时都获取到哪个li的下标
    for (let i = 0,len=obj.length; i < len; i++) {
                                obj[i].addEventListener("click",function (){
                                    console.log(i)
                                },false);
                            }
    

    var 在for循环中循环一个对象后得到最后那个对象的长度,而let很好的解决了那个问题,并且访问每个li的索引。

    1. 不存在变量提升
      var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为undefined。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。

    为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错

    // var 的情况
    console.log(foo); // 输出undefined
    var foo = 2;
    
    // let 的情况
    console.log(bar); // 报错ReferenceError
    let bar = 2;
    

    const声明一个只读的常量。一旦声明,常量的值就不能改变

    const PI = 3.1415;
    PI // 3.1415
    
    PI = 3;
    // TypeError: Assignment to constant variable.
    

    const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。
    对于const来说,只声明不赋值,就会报错。
    const的作用域与let命令相同:只在声明所在的块级作用域内有效。

    今天就说这么多了。晚安哦~ ,以后我还会慢慢给大家带来更多的知识,与君共勉,不亦乐乎!!!!!

    相关文章

      网友评论

        本文标题:ES6变量的两种命名方式

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