05.04.2014, 11:15
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Destructuring assignment для 2х переменных
Может баян, что-то в голову стукнуло, раньше не видел, чтобы так делали:
[x, y] = [y, x]
//эквивалентно
x = [y, y = x][0]
если убрать пробелы, получается на 1 символ больше
|
|
05.04.2014, 12:13
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,587
|
|
Ога, тож недавно в статье на хабре эту фичу вычитал.)
__________________
29375, 35
|
|
05.04.2014, 12:27
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
хороший трюк! можно ссыль на статью?
|
|
05.04.2014, 12:40
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
усложнимс примерчик
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]);
таки забавно)
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
|
|
05.04.2014, 12:47
|
sinistral
|
|
Регистрация: 28.03.2011
Сообщений: 5,418
|
|
ага, только читается плохо)
|
|
06.04.2014, 00:12
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от Octane
|
Может баян, что-то в голову стукнуло, раньше не видел, чтобы так делали
|
Хм. а какой из этих двух примеров тебя смущает?
Можно еще так делать:
let { x: f, y?: z } = { x: 'z' };
|
|
06.04.2014, 01:27
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Всмысле смущает? Я функцию для расчета промежутка времени между датами писал и не захотел переменную заводить, чтобы поменять даты местами, начал думать, как без переменной обойтись и пришол к такому варианту. Так как не видел раньше такого приема, решил сюда запостить, но Aetae говорит, что об этом на хабре писали.
|
|
06.04.2014, 06:49
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,587
|
|
http://habrahabr.ru/post/119898/
Оказывается это натыкался я недавно, а статья ажно '11 года.=)
__________________
29375, 35
|
|
06.04.2014, 10:12
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
Видимо без знания о destructuring assignment такая запись в 2011 году никому не понравилась
Хотя на mdn как бы не раньше появились примеры с этими [x,y]=[y,x]
|
|
06.04.2014, 10:35
|
Особый гость
|
|
Регистрация: 02.04.2010
Сообщений: 4,260
|
|
Сообщение от Octane
|
Так как не видел раньше такого приема, решил сюда запостить
|
А мне уж показалось, что ты увидел там какую-то магию
|
|
|
|