zoukankan      html  css  js  c++  java
  • ES6 let 和 const

    let 其用法与var差不多,但所申明变量只能在let命令代码块中有效。

    {
        var testa = 1;
        let tb = 22;
        console.log(tb); //22
    }
    console.log(testa); //1
    console.log(tb); //tb is undefined

     用法:

    1.不存在变量提升:在let申明变量之前使用该变量,该变量是不可用的

    2.暂时性死区:只要进入当前作用域,let所申明的变量就绑定在这个作用域,若在申明变量之前使用该变量,是不可用的。

    3.不允许重复申明:不允许在同一个作用域内重复申明同一个变量

      ♦因此:不能在函数内部重新申明参数

    //报错
    function foo(arg) {
        let arg;
    }
    //不报错
    function foo(arg) {
        {
            let arg;
        }
    }

    const是一个只读常量,一旦申明,常量的值就不能改变。这就意味着,一旦申明,就必须初始化,不能留到以后在赋值。

    const命令和let一样存在:不存在变量提升,暂时性死区。

    const本质:实际上保证的不是变量的值不得改动,而是指向变量的内存地址不得改动。对于简单类型的数据,值就保存在变量指向的内存地址中,因此等同于变量。但对复合类型的数据(主要针对对象和数组),变量指向的内存地址保存的是一个指针。const只能保证这个指针是固定的,至于指向他的数据结构是不是可变的,这完全不能控制。因此:将一个对象申明为常量就必须非常小心。

     ES6申明变量的6种方法:var,function,let ,const,import,class

  • 相关阅读:
    hdu1242 Rescue BFS广搜 + 优先队列
    hdu 1430 魔板
    康托展开
    hdu 4394 Digital Square(bfs)
    hdu 1969 Pie
    KMP模板
    hdu 1846 Brave Game
    循环赛日程表
    hdu 1022 Train Problem I
    整数划分问题
  • 原文地址:https://www.cnblogs.com/wangwenhui/p/8324460.html
Copyright © 2011-2022 走看看