Я заметил, что синтаксис Object Spread чрезвычайно разрешающий для типов значений, которые он может принимать:
console.log({ ...true });
console.log({ ...false });
console.log({ ...0 });
console.log({ ...42 });
console.log({ ...-1 });
console.log({ ...NaN });
console.log({ ...'batman' });
console.log({ .../\w+[0-9a-fA-F]?/ });
console.log({ ...['foo', 'bar', 42] });
console.log({ ...undefined });
console.log({ ...false });
console.log({ ...Symbol('hmm') });
console.log({ ...Promise.resolve('resolved') });
console.log({ ...Promise.reject('rejected') });
Существует ли недопустимый тип, класс или значение (т. Е. Выдает любую ошибку) при распространении внутри литерала объекта? Конечно, не считая необдуманных отклоненных обещаний.