ES6函数与对象的语法糖
2019-01-21 本文已影响0人
_William_Zhang
1.函数默认参数
- 与 Python 的区别 http://effbot.org/zone/default-values.htm
2.剩余参数(3种写法)
function sum(message){
// let args = Array.prototype.slice.call(arguments) // ES5 将伪数组变为真数组
// let args = Array.from(arguments) // ES6 将伪数组变为真数组
let args = [...arguments] // ES6 将伪数组变为真数组
let numbers = args.slice(1)
result = numbers.reduce((p,v)=>p+v,0)
return message + result
}
sum('结果是',1,2,3,4,5,6,7,8,9,10)
function sum(message,...numbers){
result = numbers.reduce((p,v)=>p+v,0)
return message + result
}
sum('结果是',1,2,3,4,5,6,7,8,9,10)
3.展开操作
let array1 = [1,2,3,4,5,6]
let [a,b,c,...array2] = array1
console.log(array2)
打印出的结果为[4,5,6]
var array1 = [1,2,3,4,5,6]
var [,,,...array2] = array1
console.log(array2)
打印出的结果还是为[4,5,6]
var array1 = [1,2,3,4,5,6]
var [...array2] = array1
console.log(array2)
打印出的结果为[1,2,3,4,5,6]
var array1 = [1,2,3,4,5,6]
var array2 = [0,...array1,7]
console.log(array2)
打印出的结果为[0,1,2,3,4,5,6,7]
4.解构赋值
var a = 1
var b = 2; //分号在文件里不可以省略,在控制台里面可以省略
[a,b] = [b,a]
console.log(a)
console.log(b)
[a, b, ...rest] = [10, 20, 30, 40, 50]
let {name, age} = frank
![](https://img.haomeiwen.com/i12686469/5da0addcb589a292.png)
![](https://img.haomeiwen.com/i12686469/5018e4231e65bba2.png)
![](https://img.haomeiwen.com/i12686469/68a2e6ac3521cd09.png)
![](https://img.haomeiwen.com/i12686469/e2ac5acae7527c0c.png)
![](https://img.haomeiwen.com/i12686469/64c76e11341b34cb.png)
![](https://img.haomeiwen.com/i12686469/a485fcab1c40c2fa.png)
![](https://img.haomeiwen.com/i12686469/0ed68bba45690cce.png)
![](https://img.haomeiwen.com/i12686469/02633ba47bc774f7.png)
![](https://img.haomeiwen.com/i12686469/d312ed6d4a8492a7.png)
![](https://img.haomeiwen.com/i12686469/7df0609875b7d57c.png)
![](https://img.haomeiwen.com/i12686469/c435cbcf4d8a3b5a.png)
5.对象属性加强
![](https://img.haomeiwen.com/i12686469/242b5c2b07c851d5.png)
var x = 1
var y = 2
var obj1 = {name:1,age:2}
var obj2 = {
z:1,
x,
y,
...obj1,
sayHi(){},
sayBye(){},
sayByeBye:function(){
}
}
console.log(obj2)
![](https://img.haomeiwen.com/i12686469/e1b843286f6a6c33.png)
![](https://img.haomeiwen.com/i12686469/b2bc7d91a236d193.png)