首页 > 代码库 > es6学习笔记1

es6学习笔记1

联系es6的网址:https://babeljs.io/

ES6 的第一个版本,就这样在2015年6月发布了,正式名称就是《ECMAScript 2015标准》(简称 ES2015)

let命令

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

  • let声明的变量只在它所在的代码块有效。
  • 不存在变量提升。var命令会发生”变量提升“现象,即变量可以在声明之前使用,值为undefined。这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。为了纠正这种现象,let命令改变了语法行为,它所声明的变量一定要在声明后使用,否则报错。
  • 暂时性死区。
  • 不允许重复声明

块级作用域

应用场景:

  • 第一种场景,内层变量可能会覆盖外层变量。
  • 第二种场景,用来计数的循环变量泄露为全局变量。
  • ES6 允许块级作用域的任意嵌套。
  • 外层作用域无法读取内层作用域的变量。
  • 内层作用域可以定义外层作用域的同名变量。
  • 获得广泛应用的立即执行函数表达式(IIFE)不再必要了。

块级作用域与函数声明

  • ES5 规定,函数只能在顶层作用域和函数作用域之中声明,不能在块级作用域声明。

do表达式

  • 本质上,块级作用域是一个语句,将多个操作封装在一起,没有返回值。
  • 现在有一个提案,使得块级作用域可以变为表达式,也就是说可以返回值,办法就是在块级作用域之前加上do
    ,使它变为do表达式。

const命令

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

es6声明的6种方法

    • ES5 只有两种声明变量的方法:var命令和function命令。ES6除了添加let和const命令,后面章节还会提到,另外两种声明变量的方法:import命令和class命令。所以,ES6 一共有6种声明变量的方法。

es6学习笔记1