ES6 ->ECMA标准
ES的进化:
↓
js
↓
ES7,ES8
↓
ES5.x
↓
ECMA-262 -> ES1.0
↓
ES2015 ->ES6
↓
每年六月份发布一个版本
↓
ESnext:‘下一代js语言’
关于定义(声明)变量:
之前 :
var a=12;
作用域:
全局
函数作用域
现在 :
let 相当于之前的var
const 常量,定义好了不能再改变let 注意:
1.没有预解析,不存在变量提升
在代码块内,只要let定义变量,在之前使用,都会报错
必须先定义完了再使用,如:<!--补充:--> <script > let a=12; function fn(){ alert(a)//TDZ暂时性死区 let a=5;//TDZ结束 } fn(); </script>
2.在同一个作用域里不能重复定义变量
3.for 循环,for循环里面是父级作用域,里面又一个const:特性和let一样
const定义的变量无法修改,是常量
const定义完变量,必须有值,不能后赋值块级作用域: { }
if , for , while等的{ }内的代码块