Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
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. К счастью, он уволился, не осуществив свой замысел.
Кокококонечно! Если бы тупизация была статической, кокококомпилятор сразу бы зарубил кококод и программист не смог бы сдать работу. А при динамической ошибка может обнаружиться только через несколько месяцев эксплуатации, кокококогда программист уже получил свою порцию «Роллтона».
Представь, сколько буков можно сократить!
Кстати, какая польза от Эррей.прототайп.слайс.кал с одним аргументом, которым так пестрит код?
А где поддерживаются браузеры, не умеющие в ES 2015?
статическая тупизация не нужна, правда?
Я хуею с этого дизайна.
prototype это анальный костыль от прототипного наслдедования которое обосралось до такой степени, что в джаваскрипт наконец завезли классы
А __index это просто волшебный метод который надо определеить в метатаблице
то что жабаскрипт делает с prototype. туже лажу делает lua только в два притопа типа
a = {},
a.__index = {}
setmetatable(a, a);
точнее сказать жаба просто не показывает что она делает, в луа тебе это надо делать самому - вот и вся разница
Человек Array.prototype.find не знает, а уже переводить на ES6 хотел?