ES6擴展運算符(三點運算符)...的用法
阿新 • • 發佈:2018-08-23
zha 擴展運算 object let ole ngs cit 操作 pre
1. 第一個叫做 展開運算符(spread operator),作用是和字面意思一樣,就是把東西展開。可以用在array和object上都行。
let a = [1,2,3]; let b = [0, ...a, 4]; // [0,1,2,3,4] let obj = { a: 1, b: 2 }; let obj2 = { ...obj, c: 3 }; // { a:1, b:2, c:3 } let obj3 = { ...obj, a: 3 }; // { a:3, b:2 }
2. 第二個 剩余操作符(rest operator),是解構的一種,意思就是把剩余的東西放到一個array裏面賦值給它。
let a = [1,2,3]; let [b, ...c] = a; b; // 1 c; // [2,3] // 也可以 let a = [1,2,3]; let [b, ...[c,d,e]] = a; b; // 1 c; // 2 d; // 3 e; // undefined // 也可以 function test(a, ...rest){ console.log(a); // 1 console.log(rest); // [2,3] } test(1,2,3)
let array = [1, 2, 3, 4, 5]; const { x, y, ...z } = array; // 其中z=[3, 4, 5],註意如果由於array的length不足以完成析構,則會導致z為[]對象: let obj = { name: ‘zhangsan‘, age: 30, city: ‘shenzhen‘ }; const {name, ...others} = obj; console.log(name); // ‘zhangsan‘ console.log(others); // {age: 30, city: ‘shenzhen‘}
ES6擴展運算符(三點運算符)...的用法