- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
let tableCellHamburgers = Array.prototype.slice.call(document.getElementsByClassName('js-listen__letters-table__hamburger'));
tableCellHamburgers.forEach((tableCellHamburger) => {
let code = Array.prototype.slice.call(tableCellHamburger.classList).filter(elem => elem.indexOf('js-table__cell__hamburger__') === 0)[0].replace('js-table__cell__hamburger__', '');
let searchInput = document.querySelector(`.js-table__cell__search-input__${code}`);
if (!(searchInput && searchInput.value)) {
tableCellHamburger.style.filter = 'none';
}
let dropdownContent = document.querySelector(`.js-table__cell__dropdown-content__${code}`);
if (dropdownContent) {
dropdownContent.style.display = 'none';
}
});
Автор этого кода (full-stack программист) собирался выпилить jQuery из проекта, т.к. всю работу с DOM давно можно красиво писать на чистом ES6. К счастью, он уволился, не осуществив свой замысел.
Представь, сколько буков можно сократить!
Кстати, какая польза от Эррей.прототайп.слайс.кал с одним аргументом, которым так пестрит код?
Я хуею с этого дизайна.
то что жабаскрипт делает с prototype. туже лажу делает lua только в два притопа типа
a = {},
a.__index = {}
setmetatable(a, a);
точнее сказать жаба просто не показывает что она делает, в луа тебе это надо делать самому - вот и вся разница
Человек Array.prototype.find не знает, а уже переводить на ES6 хотел?