NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
[TOC] ## 解构赋值 ES6中允许从数组中提取值,按照对应位置,对变量赋值。对象也可以实现解构。 ### 数组解构 (一一对应才能使用) ~~~ let[a,b,c]=[1,2,3]; console .log(a) console.1og (b) console .1og (c) ~~~ ![](https://img.kancloud.cn/6c/f3/6cf3f6cdc521ef05a53235d23b34ba9f_977x294.png) ~~~ 如果解构不成功,变量的值为undefined. let [foo] = [] ; let [bar,foo] = [1]; ~~~ ### 对象解构 //对象解构允许我们使用变量的名字匹配对象的属性匹配成功 将对象属性的值赋值给变量 ~~~ let person = { name:' zhangsan', age: 20 }; let { name, age } = person ; console.log (name) ; // ' zhangsan ' console.log(age); // 20 ~~~ 第二种写法 name=匹配属性 myname=变量赋值 ~~~ let {name: myName, age: myAge} = person; // myName myAge 属于别名 console.log (myName) ; // ' zhangsan ' console.log (myAge); // 20 ~~~ ## 箭头函数 ES6中新增的定义函数的方式。 ~~~ () => {} //()放形参 {} 放函数体 const fn =()=>{} ~~~ ●函数体中只有一句代码,且代码的执行结果就是返回值,可以省略大括号 ~~~ function sum (num1,num2) { return num1 + num2 ; } const sum = (num1, num2) = => num1 + num2; ~~~ ●如果形参只有一个,可以省略小括号 ~~~ function fn (v) { return v; } const fn =v => v; ~~~ ![](https://img.kancloud.cn/2a/05/2a050a8e1a531ed1721564215c9dfa83_1134x205.png) ●箭头函数不绑定this关键字,箭头函数中的this,指向的是**函数定义位置的上下文this。** //箭头函数不绑定this 箭头函数没有自己的this关键字 如果在箭头函数中使用this this关键字将指向箭头函数定义位置中的this ~~~ const obj = { name:'张三'} function fn () { console.log (this) ; return () => { console.log (this) } } const resEn = fn.call (obj) ; resFn() ; ~~~ ### 箭头函数面试题 ![](https://img.kancloud.cn/24/8c/248cb845205fe3ab2248833eaabfc489_723x396.png)