欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ES6快速入门

程序员文章站 2022-07-16 22:01:04
...

常量

const:声明的常量不可改变,声明时必须初始化

const pi =3.1415926;
console.log(pi);

使用const定义的数组和对象,其值是可变的,但是不能对其进行重新赋值

const a=[];
a[0]=1;
console.log(a[0]);//输出1
const a=[1];//报错

作用域

let:let所声明的变量,只在let命令所在的代码块({}包裹的地方)内有效,let不能在相同的作用域重复申明
代码

for(var i=0;i<5;i++){}
console.log(i);
for(let j=0;j<5;j++){}
console.log(j);

输出
5
Uncaught ReferenceError: j is not defined

箭头函数

箭头函数相当于一个匿名函数,基本构造为

()=>{}

()相当于function(),如果传入的参数为1个,则可以省略(),但是没有括号的时候不能省略。
{}为函数体,若只含又一个表达式,则可以省略return和{},若含有多条语句则都不能省略。

const a=x=>x+1;
console.log(a(1))
const b=(a,b)=>{
	a=a+1;
	b=b+2;
	return a+b;
}
console.log(b(1,2))

输出
2
6
注意:若但表达式返回的是一个对象,则要添加(),否则和函数体语法冲突

v => {k: v} // 错误
v => ({k: v}) // 正确

箭头函数中的this和普通函数this的区别

普通函数中的this谁调用他,谁就是this
箭头函数本身没有this,只能沿着作用域链往上找,直到找到一个确定的this,如果找不到,那就是Windows或undefined

var a=2;
var obj1={
	a:1,
	show:function() {
		console.log(this.a);
	}
}
obj1.show();
//obj1条用的show,所以this指向obj1
var obj2={
	a:1,
	show:()=>console.log(this.a)
}
obj2.show();
//箭头函数本身没有this,就沿着作用域往上找,找到最外层的作用域,window

参数配置

默认参数

在参数后面直接加=设置默认参数

const cul=(x=1,y=1,z=1)=>x+y+z;
console.log(cul(2,2,2));//输出6
console.log(cul());//输出3

可变参数

…加变量名可作为一个可变化长度的参数数组传入函数中

const cul=(...n)=>{
	let sum=0;
	n.forEach(item=>{
		sum=sum+item;
	})
	return sum;
};
console.log(cul(2,2,2));//输出6

可用…加变量名合并数组

const b=[4,5]
const a=[1,2,3,...b]
console.log(a)
相关标签: ES6 Es6快速入门