Дима
Дима
Наследование курильщка, не мог не поделиться
Andrey
мрак
Anonymous
Лорчане есть?
Anonymous
@erzent
Azein
а try/catch вообще нужны? Помню читал что-то что они оптимизируются плохо/не оптимизируются. Редко вижу в коде, а потом раз - и увидел в продвигаемых подходах в redux-saga для некоторых кейсов.
Andrey
нужны конечно, что бы отловить ошибку
Azein
Ошибки можно и по-другому ловить, в общем-то
Andrey
по поводу оптимизации, это важно только в каких либо больших переборах или множественных операциях. Для единичных исполнений не критично
Andrey
Ошибки можно и по-другому ловить, в общем-то
Расскажи, как в обычном коде можно еще ловить ошибки?
Ivan
Консоль лог наше все
(;¬_¬)
консоль.лог это не ловля ошибок, это тупо вывод переменной, который еще и изменится, если после консоль лога переменная изменялась...спорная штука для ловли ошибок, как мне кажется
Anonymous
Каламбур, да.
(;¬_¬)
ну как бы... что лучше, и что мы по факту имеем... не всегда совпадает
Anonymous
Я не помню, когда в последний раз использовал let.
Anonymous
Но объекты ещё мутирую, грешен.
Дима
Веруешь ли ты в рамду, сын мой
Дима
😄
Anonymous
Нормально ли при тестировании использовать такие конструкции? describe('getRc():', () => { const resolveThrows = (fname, def, opts) => () => { ... }; const readFSThrows = (fname, def, opts) => () => { ... }; const parseThrows = (fname, def, opts) => () => { ... }; describe('Returns given default data', () => { it( 'when resolve() throws error', resolveThrows(FILENAME, DEFAULTS, OPTIONS), ); ... }); describe('Returns preset default ...', () => { it( 'and resolve() throws error', resolveThrows( FILENAME_DEFAULT, DEFAULTS_DEFAULT, ), ); ... }); });
Anonymous
Типа комбинаторики много, и я сначала объявляю криейторы правил, и создаю правила, подставляя нужные параметры. Мм?
Anonymous
Или это всё от лукавого, т.к. неявно?
Anonymous
Веруешь ли ты в рамду, сын мой
Я ещё на пути к истине.
Anonymous
@ZeroBias Хоть ты скажи.
Anonymous
Ёпрст.
Дима
Да нормально) Хелперы в тестах это ок, если не увлекаться)
Anonymous
Ну, слава Богу.
Anonymous
А вот что почитать по ФП на JS?
Karina
ребята, в таблице на tr есть data-toggle='collapse' и data-target='.collapse-id' - то есть, когда кликают на td, то происходит collapse. Так и надо, за исключением одного td. Как это сделать? (preventDefault() - не работает)
Karina
Ввести возможность исключений? Например, <td data-collapse-ignore="yes" ...> ...
может у меня старая библиотека, но у меня не работает
Oleg
Может потому что оно и не заложено чтобы работать?
Karina
e.stopPropagation() - работает. Всем спасибо
Karina
💪
Anonymous
может у меня старая библиотека, но у меня не работает
Мой ответ подразумевает, что ты внесёшь изменения в том числе и в логику. Если это библиотека (непонятно, какая), то надо убедиться насчёт такой фичи.
Anonymous
=)
@aleksxor
это бутстрап
Anonymous
Приветствую! Ищу желающих практиковать разговорный английский. Предлагаю раз в неделю по скайпу по часу разговаривать о прекрасном мире JavaScript :) Если вам интересны разговоры о программировании, ваш уровень английского уже позволяет выражать ваши мысли, пожалуйста, напишите мне в личку.
Oleksandr
Всем привет! Подскажите, нормальная ли практика писать функцию внутри функции?
Oleksandr
Если такая будет только в том месте использоваться
Ivan
замыкание называется
Oleksandr
Вот к примеру так function renderTable() { // ...rendering function addRow() { // ... } }
Oleksandr
смотря зачем вам это надо
Выше пример написал. Чтобы не путаться в коде
Andrey
Выше пример написал. Чтобы не путаться в коде
если не используете замыкания, то не вижу причин раздувать объем функции, а если используете, то почему бы и нет.
Oleksandr
Ага, замыкания есть
Ivan
но в примере выше их как бы не видно)
Алдар
замыкание называется
это не замыкание
Oleksandr
Я же специаьно не показывал кусок реального кода, чтобы не ржали над моим говнокодом
Anonymous
Ребят а где yarn хранит глобальные модули? Установил eslint, в nvm папке с глобальными модулями нет, есть только исполняющий файл в bin. А где сам модуль то лежит?
Ivan
ок*
Anonymous
Vlad
вроде yarn link
ну так выполни её
Vlad
npm link показывает куда он линкует
Vlad
куда и откуда
Алдар
Замыкание это когда юзаешь переменную, определенную во внешней функции, во внутренней функции
Vlad
там и лежат глобальные модули
Алдар
function a(){ var i = 1; return function() { //use i } }
Anonymous
куда и откуда
yarn просто создал линк на папку проекта)
Oleg
Замыкание головного мозга
Oleg
А в целом - это не то что нормально, это обыденность
Oleg
Даже если писать в чистом ООП
Oleg
Ибо каррирование очень крутой способ работы с некоторыми штуками
Oleg
Ну и банально всякие итераторы обычно функции
Oleg
И выносить их в отдельный метод не всегда имеет смысл, а иногда вообще превращает код в лапшу
Serhii
https://developer.mozilla.org/en/docs/Web/JavaScript/Closures
Serhii
Если кто забыл
Oleg
Так что однозначно да - функция внутри функции это нормально
Oleg
Но по хорошему нужно было бы отправить автора вопроса в нубочатик :D
Oleg
Про замыкания это прям классический вопрос на собеседованиях
Oleg
Если ты не на сеньора пришел, и то даже там бывает
Oleg
Сразу можно градацию провести
Oleg
В информации чата