Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.04.2014, 11:15
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Destructuring assignment для 2х переменных
Может баян, что-то в голову стукнуло, раньше не видел, чтобы так делали:
[x, y] = [y, x]

//эквивалентно

x = [y, y = x][0]

если убрать пробелы, получается на 1 символ больше
Ответить с цитированием
  #2 (permalink)  
Старый 05.04.2014, 12:13
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,587

Ога, тож недавно в статье на хабре эту фичу вычитал.)
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 05.04.2014, 12:27
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

хороший трюк! можно ссыль на статью?
Ответить с цитированием
  #4 (permalink)  
Старый 05.04.2014, 12:40
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 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]);

таки забавно)
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Ответить с цитированием
  #5 (permalink)  
Старый 05.04.2014, 12:47
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

ага, только читается плохо)
Ответить с цитированием
  #6 (permalink)  
Старый 06.04.2014, 00:12
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Octane
Может баян, что-то в голову стукнуло, раньше не видел, чтобы так делали
Хм. а какой из этих двух примеров тебя смущает?

Можно еще так делать:
let { x: f, y?: z } = { x: 'z' };
Ответить с цитированием
  #7 (permalink)  
Старый 06.04.2014, 01:27
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Всмысле смущает? Я функцию для расчета промежутка времени между датами писал и не захотел переменную заводить, чтобы поменять даты местами, начал думать, как без переменной обойтись и пришол к такому варианту. Так как не видел раньше такого приема, решил сюда запостить, но Aetae говорит, что об этом на хабре писали.
Ответить с цитированием
  #8 (permalink)  
Старый 06.04.2014, 06:49
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,587

http://habrahabr.ru/post/119898/
Оказывается это натыкался я недавно, а статья ажно '11 года.=)
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 06.04.2014, 10:12
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Видимо без знания о destructuring assignment такая запись в 2011 году никому не понравилась
Хотя на mdn как бы не раньше появились примеры с этими [x,y]=[y,x]
Ответить с цитированием
  #10 (permalink)  
Старый 06.04.2014, 10:35
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от Octane
Так как не видел раньше такого приема, решил сюда запостить
А мне уж показалось, что ты увидел там какую-то магию
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
IDE для Java Script constant Библиотеки/Тулкиты/Фреймворки 0 27.09.2012 09:31
Модуль для web-to-print проекта Anton2507 Работа 0 29.07.2012 11:35
добавление стилей для множества элементов ??? Общие вопросы Javascript 7 14.06.2012 01:50
Некорректная работа get(set)Attribute в IE для элементов img back to back Internet Explorer 15 09.06.2012 16:52