Skip to content

Instantly share code, notes, and snippets.

@armanozak
Created February 12, 2021 15:54
Show Gist options
  • Save armanozak/097aaad8f304cb11fbfd911da5270685 to your computer and use it in GitHub Desktop.
Save armanozak/097aaad8f304cb11fbfd911da5270685 to your computer and use it in GitHub Desktop.
[Destructuring Assignment] How to Assign Destructured Properties or Elements Directly to Variables, Objects or Arrays #javascript #tip
let foo, bar, baz;
[ foo, bar, baz ] = ['foo', 'bar', 'baz'];
console.log(foo, bar, baz); // "foo", "bar", "baz"
({ foo, bar, baz } = {bar: 'foo', baz: 'bar', foo: 'baz'});
console.log(foo, bar, baz); // "baz", "foo", "bar"
const obj1 = {foo: 'foo', bar: 'bar', baz: 'baz'};
const obj2 = {};
({ foo: obj2.bar, bar: obj2.baz, baz: obj2.foo } = obj1);
console.log(obj2); // { bar: "foo", baz: "bar", foo: "baz" }
const arr1 = ['foo', 'bar', 'baz'];
const arr2 = [];
[ arr2[2], arr2[1], arr2[0] ] = arr1;
console.log(arr2); // ["baz", "bar", "foo"]
const obj = {foo: 'foo', bar: 'bar', baz: 'baz'};
const arr = [];
({ foo: arr[2], bar: arr[1], baz: arr[0] } = obj);
console.log(arr); // ["baz", "bar", "foo"]
[ obj.foo, obj.baz, obj.bar ] = arr;
console.log(obj); // { bar: "foo", baz: "bar", foo: "baz" }
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment