Глубокий JavaScript

Глубокий JavaScript

@deep_js

Тонкости в лучше языке программирования. Вопросы, пожелания, комментарии — @igorkamyshev

158подписчиков
Ежемесячно🇷🇺

Похожие каналы

Все →

Последние посты

​​Решил попробовать новый формат — пазлы.rangeВ некоторых программах часто возникает необходимость получить интерал чисел. В Python есть встроенная функция range, в Scala — красивая синтаксическая конструкция 5 to 14 by 3.В JavaScript можно сделать нечто подобное. Результат в прикрепленной картинке.Присылайте свои варианты, как это работает, завтра покажу авторское решение.#puzzle

16 июн. 2019 г.1 050В Telegram

Новые браузерные APIJavaScript — это больше чем чем язык. Это еще и очень изменчивая среда выполнения (зоопарк устройств, разные браузеры). Единственное, что хоть чуть-чуть упрощает жизнь — стандартизированные браузерные API.В последние годы появилось много новых API. Тематический доклад — API браузеров, о которых вы могли не слышать#api #link

12 июн. 2019 г.1 010В Telegram

​​Приведение типовJS славится своей системой преобразования типов. Александр Майоров в двух статьях рассказывает как она работает и что нужно делать чтобы не допускать ошибок.Приведение типов в JS:+ Магия или простые правила?+ Что еще надо знать в 2019 году#типы

4 апр. 2019 г.1 260В Telegram

React и связные спискиПродолжаем серию постов про внутреннее устройство React. Внутри фреймворка часто используются довольно необычные для JS структуры данных.Перевод статьи с объяснением, как и почему React использует связные списки в архитектуре FiberПредыдущая часть — React Fiber#framework

2 апр. 2019 г.1 240В Telegram

​​Стандартная бибилиотка: состояние регуляркиНа первый взгляд кажется, что регулярные выражения не могут хранить в себе состояние. Это не так.Функции test и exec начинают проверять строку с последнего совпадения, если регулярное выражение имеет флаг global (g).Обойти это можно через свойство lastIndex. Нужно установить его на 0 и поиск начнется снова с начала строки.Если поиск ничего не нашел, это свойство автоматически сбрасывается на 0.#stdlib

28 мар. 2019 г.1 040В Telegram

​​Стандартная бибилиотка: юникодные строкиПри обработке пользовательского ввода часто приходится сравнивать его значение с референсом. При наивном сравнении легко допустить ошибку из-за возможности модификации символов в UNICODE.В типографике используются диакритические знаки для модификации символов.Для реализации таких изменений в UNICODE предоставили возможность композиции символов.Сравнение таких символов через === в JavaScript даст false, поэтому для облегчения жизни существует метод String.prototype.normalize(), который возвращает нормализованную строку.Статья на Medium#stdlib

26 мар. 2019 г.958В Telegram

ДеньгиРаботать с денежными значениями сложно в любом языке, но в JS — особенно. Тут и проблемы с разными валютами, и опасность хранения сумм как чисел с плавающей точкой.В JS нет подходящих встроенных типов. Money и Decimal даже не планируются, а BigInt еще на stage3 (не принят в стандарт). Потому приходится использовать сторонние библиотеки или писать свои "велосипеды".Тематическая статья — Как работать с денежными значениями в JavaScriptBigIntВ браузере: поддерживается в новых Chromium, для остальных браузеров — полифил jsbi и клевый сторонний Babel-плагинВ Node.js: в v10.4 добавили поддержку BigInt.Что такое BigInt и почему он важен#link

23 мар. 2019 г.945В Telegram

React FiberReact — самый популярный JS-фреймворк. И в нем есть много сложных и тонких моментов.Перевод статьи с обзором React Fiber и внутренних механизмов работы нового API — хуков#framework

21 мар. 2019 г.1 030В Telegram

​​Стандартная бибилиотка: это массивУзнать, является ли нечто массивом не так просто, как кажется. typeof вернет object, а многие свойства массивов присущи и другим объектам.Если код выполняется в среде поддерживающей ES5+ (или транспайлится), то доступна функция Array.isArray которая проверяет, евляется ли аргумент массивом. В таком случае можно выкинуть _.isArray и пользоваться стандартной бибилиотекой.Я страстно люблю lodash, но всему свое место и время.#stdlib

16 мар. 2019 г.1 010В Telegram

ЧислаВсе знают, что 0.1 + 0.2 = 0.30000000000000004. Но это не вина JavaScript.Статья объяснение от Марата Сайтакова#explain

14 мар. 2019 г.1 030В Telegram

​​Стандартная бибилиотка: даты и больВ новом JS появилась функция форматирования даты в локаль-зависимом виде.Это простой способ показать дату в привычном пользователю формате. При вызове без параметров локаль подтянеться из среды выполнения.Использовать в Node.js эту функцию нужно осторожно (например при отправке писем пользователям). Если не указать локаль, то будет использована локаль сервера, она часто не совпадает с локалью пользователей.На MDN есть неплохая статья про эту функцию.#stdlib

12 мар. 2019 г.1 010В Telegram

Хороший программист должен знать как работает язык, на котором он пишет. Причем, желательно очень хорошо. Не ради собеседований, ради понимания.В этом канале мы будем разбирать странные, неочевидные и местами противоречивые особенности JS (и других около стоящих языков), говорить о возможностях стандартной библиотеки и о более выразительных аналогах, изучать лучшие практики написания JS-кода.

12 мар. 2019 г.877В Telegram

Channel name was changed to «Глубокий JavaScript»

12 дек. 2018 г.В Telegram