Size: a a a

2020 January 14

K

Katod in javascript_ru
свое в грязных офисах уже отработал.
источник
2020 January 15

M

Maxim in javascript_ru
Всем привет, кто знает, почему спред оператор в массивах и объектах работает по разному: { ...false } - ошибки нет, возвращает {}, [...false] - ошибка, чтоб булиан не итерируется.
источник

p

p0rsche in javascript_ru
полагаю, связано с short-curcuit evaluation
источник

p

p0rsche in javascript_ru
источник

p

p0rsche in javascript_ru
...false на объекте воспринимает как (some falsy expression) && expr
источник

p

p0rsche in javascript_ru
и он просто возвращает пустой объект, т.к. ты уже создал его литералом {}
источник

p

p0rsche in javascript_ru
но это всего лишь предположение. нужно в стандарте смотреть
источник

p

p0rsche in javascript_ru
new Object(...false) тоже не прокатит
источник

M

Maxim in javascript_ru
p0rsche
new Object(...false) тоже не прокатит
Ну, это уже немного другое. Там и (...{ a: 1 }) не прокатит.
источник

M

Maxim in javascript_ru
Опять же, вот так получается [...true && ['1,2,3']], а [...false && ['1,2,3']] выдает ошибку
источник

p

p0rsche in javascript_ru
в этому случае short-circuit не возникает
источник

p

p0rsche in javascript_ru
думаю, загвоздка в разной обработке @iterable для объектов и массивов
источник

M

Maxim in javascript_ru
p0rsche
думаю, загвоздка в разной обработке @iterable для объектов и массивов
Ок, спасибо
источник

T

Th0r in javascript_ru
https://github.com/tc39/proposal-object-rest-spread/blob/master/Spread.md
в спеке для объектов отдельным пунктом указано
Null/Undefined Are Ignored
let emptyObject = { ...null, ...undefined }; // no runtime error

либо false преобразуется в null\undefined, либо браузеры это также обрабатывают
источник

M

Maxim in javascript_ru
Th0r
https://github.com/tc39/proposal-object-rest-spread/blob/master/Spread.md
в спеке для объектов отдельным пунктом указано
Null/Undefined Are Ignored
let emptyObject = { ...null, ...undefined }; // no runtime error

либо false преобразуется в null\undefined, либо браузеры это также обрабатывают
Ясно
источник

A

Avin in javascript_ru
Может кто подсказать? Делаю на страницу инъекцию скрипта. Подставляю в хед тег скрипта. Код вот такой
источник

A

Avin in javascript_ru
проблема что если по ссылке нет скрипта, т.е возникает такая ошибка
источник

A

Avin in javascript_ru
script.onerror не срабатывает
источник

A

Avin in javascript_ru
как тут правильно поступить? чтоб сработал reject в промисе
источник

К

Константин in javascript_ru
Avin
как тут правильно поступить? чтоб сработал reject в промисе
он ток при ошибке сети вызываться должен же
источник