Skip to content

More powerful destructuring #111

@nmn

Description

@nmn

Spider already supports:

var [a, b] = [1, 2];
[a, ,b] = [1, 2, 3];
[a, b] = [b, a];

Spider also supports splats ...rest.

Spider should support the following (It may support some of these already):

var {a, b} = {a: 1, b: 2};
var {first: a, last: b} = {first: 1, last: 2};
var [a, b, ...rest] = [1, 2, 3, 4, 5];
var {a, b, ...rest} = {a: 1, b: 2, c: 3, d: 4}; // rest = {c:3, d:4}

Also in function parameters:

fn obj({x, y, z}, color){...}

// which is called like this:
obj({x: 1, y: 2, z: 3}, 'blue');

This would all be extremely useful in a lot of places, and are features that libraries like React will soon depend on. Most of these features are part of ES6. the ...rest in an object is not, but it is a proposal. JSX will be adding support for it anyway.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions