Destructuring assignment для 2х переменных
Может баян, что-то в голову стукнуло, раньше не видел, чтобы так делали:
[x, y] = [y, x] //эквивалентно x = [y, y = x][0] если убрать пробелы, получается на 1 символ больше |
Ога, тож недавно в статье на хабре эту фичу вычитал.)
|
хороший трюк! можно ссыль на статью?
|
усложнимс примерчик :)
var a=1, b=2, c=3, d=4; d = [a, a=d, d=b, b=c, c=d][0]; alert([a, b, c, d]); таки забавно) |
ага, только читается плохо)
|
Цитата:
Можно еще так делать: let { x: f, y?: z } = { x: 'z' }; |
Всмысле смущает? Я функцию для расчета промежутка времени между датами писал и не захотел переменную заводить, чтобы поменять даты местами, начал думать, как без переменной обойтись и пришол к такому варианту. Так как не видел раньше такого приема, решил сюда запостить, но Aetae говорит, что об этом на хабре писали.
|
http://habrahabr.ru/post/119898/
Оказывается это натыкался я недавно, а статья ажно '11 года.=) |
Видимо без знания о destructuring assignment такая запись в 2011 году никому не понравилась :)
Хотя на mdn как бы не раньше появились примеры с этими [x,y]=[y,x] |
Цитата:
|
Часовой пояс GMT +3, время: 12:44. |