zoukankan      html  css  js  c++  java
  • ES6笔记01-声明变量

    ES6只有六种声明变量的方法:var命令和function命令,letconst命令,import命令和class命令。所以,ES6一共有6种声明变量的方法。

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

    const声明的变量不得改变值,所以const一旦声明变量,就必须立即初始化,不能留到以后赋值

    在ES6中let命令,用来声明变量。用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。

    {
      let a = 10;
      var b = 1;
    }
    a // ReferenceError: a is not defined.
    b // 1

    let不存在变量提升。let不像var那样会发生“变量提升”现象。所以,变量一定要在声明后使用,否则报错。

    console.log(test1); // 输出undefined
    console.log(test2); // 报错ReferenceError
    var test1= 2;
    let test2= 2;

    暂时性死区。只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。

    var tmp = 123;
    if (true) {
      tmp = 'qq'; // ReferenceError 在let声明变量前,对tmp赋值会报错
      let tmp;
    }
    ES6明确规定,如果区块中存在letconst命令,这个区块对这些命令声明的变量,从一开始就形成了封闭作用域。凡是在声明之前就使用这些变量,就会报错。
    if (true) {
      // TDZ开始
      tmp = 'abc'; // ReferenceError
      console.log(tmp); // ReferenceError
      let tmp; // TDZ结束
      console.log(tmp); // undefined
      tmp = 123;
      console.log(tmp); // 123
    }
  • 相关阅读:
    喜欢这效果
    jQuery.Validate 使用例子
    网站安全要略谨记
    asp.net发送邮件
    URL参数的加号等特殊字符的处理
    sqlhelper
    Python单元测试框架
    基于Selenium2与Python自动化测试环境搭建
    Robot Framework和Selenium 2 Grid集成指南
    APP性能测试(CPU)
  • 原文地址:https://www.cnblogs.com/qing619/p/6197143.html
Copyright © 2011-2022 走看看