ES6(ECMAScript 2015) 标准参考

概述

ES6 在2015年6月正式发布。
ES6 既是一个历史名词,也是一个泛指,含义是5.1版本以后的 JavaScript 的下一代标准,涵盖了ES2015、ES2016、ES2017等,而 ES2015 则是正式名称,特指当年发布的正式版本的语言标准。

let

ES6 新增了 let 命令,用于声明变量。

  • 用法类似于 var,但是所声明的变量只在 let 命令所在的代码块内有效。
  • let 声明的变量一定要在声明后使用,否则会报错。var 变量可以在声明之前使用,值为 undefined。
  • “暂时性死区”,只要进入当前作用域,所要使用的变量就已经存在,但是不可获取,只有等到声明变量后才可以使用。
  • 不允许重复声明

块级作用域

ES5 只有全局作用域和函数作用域,没有块级作用域,导致很多场景不合理。

  • 内层变量可能会覆盖外层变量。
  • 用来计数的循环变量泄露为全局变量。
  • ES6 允许在块级作用域之中声明函数。

const

const 声明一个只读的常量。

  • const 的作用域与 let 相同,只在声明所在的块级作用域内有效。
  • 保证的并不是变量的值不得改动,而是变量指向的那个内存地址不得改动。

解构

ES6 允许按照一定模式从数组和对象中提取值,然后对变量进行赋值,这被称为解构。

let [a, b, c] = [1, 2, 3];

Module

export 用于规定模块的对外接口。
import 用于输入其他模块提供的功能。

一个模块就是一个独立的文件。该文件内部的所有变量,外部无法获取。使用export命令输出变量,函数或类。

// export 语法
// 变量
export var i = 1;
export {one, two};

// 函数
export function f() {};
function f() {}
export {f};

// 使用 as 关键字可以重命名函数名与变量名

参考

  • ES6标准入门 第3版

你可能感兴趣的:(前端)