ES6--ES6新特性
1.ECMASript 相关介绍
(1).什么是 ECMA
ECMA中文名称为欧洲计算机制造商协会,专门制定相关的 标准1994 年后该组织改名为 Ecma 国际。
(2).什么是 ECMAScript
ECMAScript标准化的脚本程序设计语言。
(3).为什么需要学习ES6
ES6 的版本变动内容最多,具有里程碑意义
ES6 加入许多新的语法特性,编程实现更简单、高效
ES6 是前端发展趋势,就业必备技能
2.ES6新特性--let关键字
(1).函数的声明
let a;
let b,c;
let stu = '张三';
let name ='李四',age = 12;
(2).变量声明的时候不能够重复
let name = '李四';
let name = '张三';//这里开始报错,但是再使用var的时候可以这样声明!
(3).块级作用域
这里的块级作用域可以理解为只要变量在哪一个{}内部使用,就在那一个{}内才有效果。
{
let stuAge = 12;
console.log("---" + stu);//正确输出变量stu,因为它是再{}内部
}
console.log("---" + stu);//报错,不能够正确输出stu,因为不在{}内部
(4).不存在变量的提升
变量提升的现象:可以先使用再说定义
console.log("---" + test);//这里不报错,可以先使用后定义,等价于先声明了一个变量,然后赋予他一个初始化值
var test = 'stu';
//不存在变量提升就是说使用let声明变量的时候,必须先声明,在使用。
//这一个符合我们其他的编程语言的特点。
(5).不影响作用域链
作用域链:就是如果在一个较大的范围之内声明,那么在这一个范围之内的人都可以取使用
这一个变量。
{
let stu = '李四';
function fn(){
console.log("---" +stu );
}
fn();
}
//以后声明变量,我们就是用let关键字即可。
3.ES6新特性--const声明常量
(1).初始化必须赋值
const stu = '张三';//正确
const name;//报错
(2).常量在定义的时候一般使用大写(编程习惯)。
(3).常量在赋值结束之后,就不能够在修改了。
const stu = '李四';
stu = '张三';//报错,常量不能够修改
(4).块级作用域
//-----这里操作同let关键字
(5).使用const声明的数组或者是对象,可以进行修改,不算做对常量的修改,因为其地址值没有改变。
const arr = ["张三","李四","王五"]
arr.push("王二麻子");//不报错