Size: a a a

2021 April 03

Z

Z 07 in JS
const figuresClasses = ['pawn', 'rook', 'bishop', 'knight', 'queen', 'king'];
     for (let key of figuresClasses) {
       if (this.table.rows[this.end.y].cells[this.end.x].classList.contains(key)) {
         this.table.rows[this.end.y].cells[this.end.x].classList.remove(key)
       }
       if (this.field[this.start.y][this.start.x].name === key) {
         this.table.rows[this.start.y].cells[this.start.x].classList.remove(key);
         this.table.rows[this.end.y].cells[this.end.x].classList.add(key);
       }
     }
источник

Z

Z 07 in JS
такая реализация
источник

OJ

Oleg Junior in JS
в одном видео у автора был экспорт из файла export const... потом он сказал так как мы экспортируем одну сущность, то лучше сделать export defoult... Это так или он ерунду сделал?
источник

OJ

Oleg Junior in JS
источник
2021 April 04

ei

export default - зло... in JS
Oleg Junior
источник

A

Alex in JS
Oleg Junior
Зависит от условий, но в целом ничего страшного автор не сделал. Разница не в кол-ве экспортируемых сущностей, а в значении сущностей для данного модуля. Если это, грубо говоря, точка входа в модуль, основная сущность, то export default приемлем. Не стоит безусловно поклоняться шаблону "export default – зло".
источник

C

Cema in JS
Всем привет! Получил задачу:
Написать скрипт:добавить на страницу изображение автомобиля, при клике на разные области будут добавляться соответствующие товары в корзину. Товары любые. Когда все товары добавлены не более 5 , автомобиль заменяется на надпись "вы собрали автомобиль". Товары использовать через JS API. Примерно как это сделать.
источник

C

Cema in JS
Изображение добавил, просто как связать добавление товаров с изображением авто, как сделать чтобы оно сменилось на надпись (предполагаю через функцию сделать можно) , как добавить через API товары
источник

C

Cema in JS
Очень буду благодарен за любой ответ! Очень срочно нужно
источник

ei

export default - зло... in JS
Alex
Зависит от условий, но в целом ничего страшного автор не сделал. Разница не в кол-ве экспортируемых сущностей, а в значении сущностей для данного модуля. Если это, грубо говоря, точка входа в модуль, основная сущность, то export default приемлем. Не стоит безусловно поклоняться шаблону "export default – зло".
А лучше не стоит портить проект дефолтными экспортами
источник

ei

export default - зло... in JS
И давать разным вещам какие-то сакральные значения, чтобы потом рефакторить это
источник

A

Alex in JS
export default - зло is the side effect
И давать разным вещам какие-то сакральные значения, чтобы потом рефакторить это
Наоборот. Лучше не мешать всё вместе. От понимания разницы необходимость в рефакторинге снижается.
источник

ei

export default - зло... in JS
Нет, в дефолтных экспортах нет совершенно ничего полезного) Не надо искать в них какой-то смысл
источник

ei

export default - зло... in JS
Допустим есть гений, который в структуре

reducers/
 one/
   reducer.js
   actions.js
   index.js
 two/
   reducer.js
   actions.js
   index.js
 index.js

Решил редьюсеры экспортировать по дефолту
И вот он хочет реэкспорты сделать из reducers/
И вдруг выясняется, что с дефолтиками-то никак)
Надо написать export { default as ... } и потерять невероятный сакральный смысл!
источник

ei

export default - зло... in JS
И это только один пример, на деле это везде порождает лишний код
источник

ei

export default - зло... in JS
И главное код не консистентный
источник

ei

export default - зло... in JS
И требуется бó‎льшая ментальная нагрузка чтобы эту бесполезность различать
Зачем, если можно писать в одном стиле?
источник

ei

export default - зло... in JS
Или есть джун на проекте, и вот он решил поэкспортировать анонимно функции с помощью дефолтного экспорта
источник

ei

export default - зло... in JS
Надо добавлять правила чтобы закрывать разные минусы дефолтного экспорта, опять же зачем, если можно просто запретить его? И получить вместе с этим консистентность, гибкость и удобство
источник

ei

export default - зло... in JS
Или надо найти где модуль какой-то импортирован, с именованным это просто ввести название, с дефолтным его могут под другим именем импортировать, и не останется исходного названия
источник