ES6语法详解(一)

一)let

let和var有什么区别?

let是块作用域,可以将let后面的变量变成块作用域

ES5语法中只有全局作用域和函数作用域

二)const

如果const后面的变量是普通变量,改变值的话会报错。

const a = 1;
      a = 2;

如果后面储存的是数组或者对象,改变值不报错,那么改变它的指向报错

const arr = [1,2,3];
      arr = [];

三)解构赋值


var [a, b, c, d] = [1, 2, 3, 4];

对象解构赋值

let {name, age} = {name: "lyf", age: 20};

四)函数参数默认值

function getAllInfo(name="lgx", age=20) {

			console.log(name);
			console.log(20);

		}

		getAllInfo();

五)...操作符

1)rest剩余操作符

function getAllWife(first, second, ...third) {
			console.log(first); //打印 lyf
			console.log(second) //打印 lgx
			console.log(third)  //打印 ["ym", "jsy","zyj"]
		}

		getAllWife("lyf", "lgx", "ym", "jsy", "zyj");

2)spread扩展操作符

var a1 = [4, 5, 6];
var a2 = [7, 8, 9];
// var a3 = a1.concat(a2);之前可以用concat合并
var a3 = [...a1, ...a2];
console.log(a3);//打印[4,5,6,7,8,9]

六)function的name属性

ES6给函数添加了一个name属性,使用这个属性我们可以得到函数的名字

1)使用自定义函数,它的name属性的值就是函数的名字

function setYourLife() {

	}
console.log(setYourLife.name);//打印 setYourLife

2)使用匿名函数表达式定义的函数,它的name属性的值就是变量的名字

var youLife = function() {
	}
	console.log(youLife.name);//打印 youLife

3)让变量等于一个匿名函数,它的name属性的值就是函数声明时的名字,因为它的优先级更高一点。

var lifeAll = function setLife() {

	}
console.log(lifeAll.name);//打印 setLife

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值