ES6 - 扩展(Reset)运算符
2019-01-04 本文已影响0人
饮杯梦回酒
导读 :
- 挑干的来说就是通过...(就是这三个点)来展开数组或者将散的参数包装成数组,很神奇。
例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script type="text/javascript">
// ...既有扩展功能(数组展开,类似join()),也有重置功能(类似split(''))
// 重置功能:
function show(...a) { // 通过...将a重置为数组
// let a = Array.prototype.slice.call(arguments); // 参数转数组,以前的写法
return a.sort((x,y)=>x-y);
}
console.log(show(1,8,30,2,9));
// 扩展功能:
function show2(a,b,c) {
console.log(a,b,c); // 1 9 8
}
show2(...[1,9,8]); // 通过...将数组扩展开成为3个形参
// 实用的例子,复制数组
let arr = [1,23,4,5];
let arr2 = [...arr];
let arr3 = Array.from(arr)
console.log(arr3); // 以下3个相同
console.log(arr);
console.log(arr2);
</script>
</body>
</html>
注意点:...既有扩展功能,又有重置功能
总结 :
- 主要就这2个功能 :
1. [1, 2, 3, 4, 5] ----> ...[1, 2, 3, 4, 5] ----> 1 2 3 4 5
2. 1, 2, 3, 4, 5 ----> ...1, 2, 3, 4, 5 ----> [1 2 3 4 5]