|
| 1 | +// @target: es2015 |
| 2 | +let o = { a: 1, b: 'no' } |
| 3 | +var { ...clone } = o; |
| 4 | +var { a, ...justB } = o; |
| 5 | +var { a, b: renamed, ...empty } = o; |
| 6 | +var { ['b']: renamed, ...justA } = o; |
| 7 | +var { 'b': renamed, ...justA } = o; |
| 8 | +var { b: { '0': n, '1': oooo }, ...justA } = o; |
| 9 | + |
| 10 | +let o2 = { c: 'terrible idea?', d: 'yes' }; |
| 11 | +var { d: renamed, ...d } = o2; |
| 12 | + |
| 13 | +let nestedrest: { x: number, n1: { y: number, n2: { z: number, n3: { n4: number } } }, rest: number, restrest: number }; |
| 14 | +var { x, n1: { y, n2: { z, n3: { ...nr } } }, ...restrest } = nestedrest; |
| 15 | + |
| 16 | +let complex: { x: { ka, ki }, y: number }; |
| 17 | +var { x: { ka, ...nested }, y: other, ...rest } = complex; |
| 18 | +({x: { ka, ...nested }, y: other, ...rest} = complex); |
| 19 | +var { x, ...fresh } = { x: 1, y: 2 }; |
| 20 | +({ x, ...fresh } = { x: 1, y: 2 }); |
| 21 | + |
| 22 | +class Removable { |
| 23 | + private x: number; |
| 24 | + protected y: number; |
| 25 | + set z(value: number) { } |
| 26 | + get both(): number { return 12 } |
| 27 | + set both(value: number) { } |
| 28 | + m() { } |
| 29 | + removed: string; |
| 30 | + remainder: string; |
| 31 | +} |
| 32 | +var removable = new Removable(); |
| 33 | +var { removed, ...removableRest } = removable; |
0 commit comments