ES-6 let 和 const 指令
let指令
块级作用域
- 块级作用域中,外层无法读取内层的变量
- 在ES6中,允许块级作用域中声明函数,但和
let
关键字类似的是,该函数在块级作用域之外也不可引用。
- 块级作用域的出现,令“立即执行函数表达式(IIFE)”闭包的使用减少。
const指令
- 对于const来说,只声明不赋值,就会报错。
- const声明的常量,也与let一样不可重复声明。
- const常量声明后,会指向一个对象(JS对象、数字对象、字符对象等),这个对象本身不允许改变,但允许给这个对象添加/修改属性。可使用
const foo = Object.freeze({});
创建一个不可修改的freeze,被冻结了的对象。
ES 6 中的变量声明
- var
- function
- let
- const
- import
- class
全局对象和属性
- var命令和 function命令声明的全局变量,在ES 6中仍然是全局的属性
- let命令、 const命令、class命令声明的全局变量,不属于全局对象(window或global)的属性
- 全局变量逐步与全局对象的属性脱钩
原文地址:https://www.cnblogs.com/HXW-from-DJTU/p/6645363.html