前端开发框架中会大量使用,es6以后的新特性
1. let变量声明的时候不能重复声明。
2.块级作用域,变量只在代码块里面才有效{}
3.不存在变量提升。
4.不影响作用域的使用

const声明常量:值不能修改的称之为常量。
初始化的时候,必须要赋值。
一般在声明的时候常量名要使用大写(潜规则)
tonglet一样是块级作用域。
对于用const声明的数组或者对象:里面的元素做修改时,不算做对常量的修改,不会报错。

ES6结构赋值:
允许按照一定模式,从数组和对象中提取值,对变量进行赋值。
1.数组的结构:
const F = [1,2,3,4,5,6];
let [a,b,c,d,e,f] = F; //相对于声明了6个变量,a,b,c,d,e,f而且它们的值为对应的F这个数组里的值。
console.log(a); //a = 1;

2.对象的结构:
const A = {
name:’zhao’,
age:18,
hanshu: function(){}
}
let {name,age,hanshu} = A;
console.log(name); //name = ‘zhao’;
console.log(hanshu); //hanshu与A里面的方法相同。
//这里需要注意的是:对象解构赋值时,新声明赋值的变量或者方法的名字,必须与对象的属性名,或者方法名一致。

ES6的引入新的声明字符串的方式:
1.声明时使用反引号``
2.内容中可以直接出现换行符 (直接使用空格和回车换行)
3.变量的拼接方式${}

ES6的,简化对象写法:
允许在大括号里面,直接写入变量和函数名,作为对象的属性和方法。
举例:
let name = ‘尚硅谷’;
let change = function() {}
const school = {
name,
change,
} //这样就可以将声明好的变量,和函数,直接放在新声明的的对象中。
const school = {
name,
change,
improve(){} //在es6中也可以这样书写对象里面的方法(省略了:与function)
}

es6里的箭头函数:

以前声明函数:
let fn = function(形参){}
现在是用箭头声明函数:
const fv = (形参) =>{}
箭头函数的特性:
1.this,始终指向函数声明时所在作用域下的this值。
2.不能作为构造函数去实例化对象
image.png
3.不能使用arguements变量
4.箭头函数的简写:
省略小括号:当形参有且只有一个时。
省略花括号:当代码体只有一条语句时,而且return也必须省略,函数的返回值就是语句的执行结果。
image.png

es6允许给函数参数赋予初始值:
function add(a,b,c) {
return a+b+c;
}
add(1,2,3);
//
function add (a,b,c=3) { //形参初始值,具有默认值的参数一般放在最后
return a+b+c;
}
add(1,2);
es6中函数参数可以与解构赋值结合使用:
image.png