JavaScript Kitchen 👨🏻‍🍳 – Telegram
JavaScript Kitchen 👨🏻‍🍳
299 subscribers
63 photos
215 links
Обʼєднання JavaScript ентузіастів та митців
https://javanoscript-kitchen.js.org/

Співпраця:
javanoscript_kitchen@pm.me
Download Telegram
Спустя почти 2 года, 4 тысячи коммитов и более 50 пре-релизов вышел Babel 7 🎊
- все пакеты под скопом @babel
- поддержка TypeScript
- @babel/preset-env вместо тысячи пресетов
- babel-upgrade для автоматического обновления со старых версий

https://babeljs.io/blog/2018/08/27/7.0.0

#javanoscript #devtools
Подборка неожиданно Тьюринг-полных* штук: от игр до сетевых протоколов 😀

http://beza1e1.tuxen.de/articles/accidentally_turing_complete.html

*Полнота по Тьюрингу — характеристика исполнителя (множества вычисляющих элементов) в теории вычислимости, означающая возможность реализовать на нём любую вычислимую функцию.

#javanoscript #offtopic
Присоединяйтесь к трансляции FullStack Fest 2018 Frontend из солнечной Барселоны 🇪🇸

Расписание: https://2018.fullstackfest.com/schedule/frontend

https://www.youtube.com/watch?v=NpHl2JbCjI8

#javanoscript #conference
В TC39 выбрали название новому глобальному объекту, которое не должно поломать весь интернет - globalThis 😱
Казалось бы, только разобрались с Array.flatten и Array.flatMap и наследием MooTools…

https://github.com/tc39/proposal-global

#javanoscript
Тут некий Карлос написал на JavaScript майнер Bitcoin'ов и заопенсорсил это счастье, чтобы мы могли наконец-то разобраться как работает майнинг: 😱🔥

https://github.com/guerrerocarlos/bitcoin-miner

#javanoscript
Кому интересен GraphQL подключайтесь к стриму с конфы GraphQL Finland 🇫🇮

https://www.youtube.com/watch?v=aX-BxhkFd9g

Расписание тут - https://graphql-finland.fi/schedule/

#javanoscript #conference
Forwarded from Кулачок за фронтенд
Наткнулся недавно на простой и полезный хинт: дестрактинг можно удобно использовать при логировании: вместо того, чтобы писать

console.log('obj1: ', obj1, 'obj2: ', obj2)

можно сделать так:

console.log({obj1, obj2})

что сделает в общем, тоже самое. Также удобно логировать объект в console.table: console.table({obj}) — выведет таблицу в столбцах которой будут названия ключей, а в ячейках — значения.

Раз уж залез в эту историю, давно хотел накидать краткую справку по консольному command line API (не всё, конечно, фрагментарно. С сортировкой в порядке субъективно значимой важности):

⟌ Постоянно пользуюсь:

◦ copy(object) скопирует аргумент в буфер обмена. Чрезвычайно полезная фича, особенно в связке с «Store as global value» из контекстного меню.
◦ keys(), values() — алиасы для Object.keys и Object.values
◦ в $0-4 хранятся ссылки на последние инспектированные DOM-элементы из Elements. На практике я пользуюсь только $0.

⟌ Порой использую:

◦ $(selector) и $$(selector) работают как алиасы для querySelector и querySelectorAll
◦ $_ в коносоли вернёт результат последнего вычисления


⟌ Редко использую:

◦ clear() (или хоткей Cmd+k, которым, в отличие от метода, пользуюсь постоянно) очистит консоль
◦ dir() — алиас для console.dir() — выведет в консоль представление аргумента в виде JS-объекта. Удобно для инспектирования DOM-элементов (для которых console.log отрисует просто ссылку на DOM-ноду, а dir — объект с атрибутами)

⟌ Остальное (на практике не использую):

◦ debug(function) — остановит выполнение сразу после попадания выполнения внутрь function. Отписаться можно с помощью undebug(). На практике не применяется.
◦ inspect(object/function) — откроет соответствующую вкладку — DOM-inspect для ноды или профилировщик — для функции
◦ getEventListeners(object) вернёт все подписавшиеся на этот объект через addEventListeners коллбэки
◦ monitor(function) выведет в консоль «function ${functionName} called with arguments: ${arguments}» при каждом вызове функции. Отписаться можно с помощью unmonitor()
◦ mo
nitorEvents(object[, events]) — аналогичный инструмент для инспектирования событий объекта
profile(id), profileEnd(id) — запустит и остановит профилировщик соответственно
table() — алиас для console.table, табличное представление выводимых данных
queryObjects(ConstructorName) — новое API — вернёт список всех инстансов ConstructorName. Например queryObjects(Promise) покажет все существующие на странице промисы. Работает также и с пользовательскими конструкторами и классами.