ES6简介
ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,在 2015 年 6 月(所以也称为ECMAScript 2015)正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。
ECMAScript 和 JavaScript 的关系
1996年,网景公司 经过浏览器大战 IE占领了大部分浏览器市场 所以网景把JavaScript 交给了标准化组织 形成了国际标准 就出现了ECMAScript
ECMAScript 就是javascript的标准。
ECMAScript 使用历史中使用最多是ECMAScript 3。
ECMAScript新增功能
ES6里面包括 :
1. 声明变量的方法 (let const)
2. 变量的解构赋值
3. 字符串 函数 数组 对象的扩展
4. 扩展运算符 (…)
5. 数据劫持 promise
6. Generator函数的语法
等等
let const
let 和const是ES6新增的声明变量的语法 作用类似于var
let
let声明的变量的特点 :
1. 使用let声明的变量 只在let所在的代码块起作用 (变量绑定)
2. 在同一代码块内(块级作用域) 使用let声明的变量 可以重新赋值 但是不能重新声明
3. let声明的变量 必须在声明之后才能使用(不存在变量提升)
4. 暂时性死区
5. 在全局作用域内使用let声明的变量 但是不属于全局对象的属性
1. 使用let声明的变量 只在let所在的代码块起作用 (变量绑定)
let tem = 123;
if(true) {
tem = "444";
let tem;
console.log(tem);
}
-
在同一代码块内(块级作用域) 使用let声明的变量 可以重新赋值 但是不能重新声明
// var tem = new Date();function fn() { console.log(tem); if(false) { var tem = "hello world"; let tem = "hello world"; } }
-
let声明的变量 必须在声明之后才能使用(不存在变量提升)
for(var i = 0; i < 10; i++) {
console.log(i);
}
console.log(i);
for(let i = 0; i < 10; i++) {
console.log(i);
}
console.log(i);
for(var i = 0; i < 10; i++) {
setTimeout(function() {
console.log(i);
},1000)
}
console.log("aaa");
const
const就是声明一个只读的常量 一旦声明之后 他的值就不能再改变
1. const声明之后 值就不能再改变 也就意味着const在声明的时候 就必须立即初始化 不能先定义再赋值
2. const的用法跟let完全一样 只是一个声明常量 一个声明变量
const a;
a = 13;
console.log(a);
console.log(Number.MAX_VALUE);
if(true) {
const NUM = 5;
NUM = 10;
console.log(NUM + 19);
}
console.log(NUM + 10);