ES6学习笔记之《let 和 const》

ES6声明变量的方法:var、function、let、const、import、class;

let和 const

const的作用域与let命令相同:只在声明所在的块级作用域内有效。

if (true) {
  const MAX = 5;
}
MAX // Uncaught ReferenceError: MAX is not defined

const 命令声明的常量也是不提升,同样存在暂时性死区,只能在声明的位置后面使用。

if (true) {
  console.log(MAX); // ReferenceError
  const MAX = 5;
}
const 声明的常量,也与 let 一样不可重复声明。
var message = "Hello!";
let age = 25;

// 以下两行都会报错
const message = "Goodbye!";
const age = 30;


全局变量获取:
垫片库 system.global 模拟了这个提案,可以在所有环境拿到 global:

// CommonJS的写法
require('system.global/shim')();

// ES6模块的写法
import shim from 'system.global/shim'; shim();
上面代码可以保证各种环境里面, global 对象都是存在的。
// CommonJS的写法
var global = require('system.global')();

// ES6模块的写法
import getGlobal from 'system.global';
const global = getGlobal();
上面代码将顶层对象放入变量 global


版权声明:本文为kill_bugs原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。