Получи случайную криптовалюту за регистрацию!

JavaScript Learning

Логотип телеграм канала @js_per_month — JavaScript Learning J
Логотип телеграм канала @js_per_month — JavaScript Learning
Адрес канала: @js_per_month
Категории: Игры
Язык: Русский
Количество подписчиков: 4.83K
Описание канала:

Обучающий канал по JavaScript
По всем вопросам @valentin_mascarov

Рейтинги и Отзывы

2.50

2 отзыва

Оценить канал js_per_month и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

0

3 звезд

1

2 звезд

1

1 звезд

0


Последние сообщения 2

2022-11-28 20:06:16 Проверка наличия обязательных параметров функций

JavaScript позволяет задавать значение по умолчанию для параметров функции. Используя эту возможность, мы можем реализовать интересный способ проверки наличия обязательных параметров при вызове функций и методов:

const isRequired = () => {
throw new Error('param is required');
};

const print = (num = isRequired()) => {
console.log(`printing ${num}`)
}

print(2);//printing 2
print()// error

Теперь при отсутствии параметра у нас выводится ошибка, которую можно кастомизировать, как нам удобно.
862 views17:06
Открыть/Комментировать
2022-11-28 09:00:09
Быстрое преобразование Float в Integer

Если вы хотите преобразовать число с плавающей точкой в целое число, вы можете использовать Math.floor(), Math.ceil() или Math.round(). Но есть также более быстрый способ обрезать число с плавающей точкой до целого числа, используя | оператор побитового ИЛИ.

Если n положительно, n | 0 округляется в большую сторону. Если n отрицательное - округляется в меньшую. Чтобы выразиться точнее, эта операция удаляет все, что следует после десятичной точки, усекая число с плавающей точкой до целого числа.
960 views06:00
Открыть/Комментировать
2022-11-27 20:16:38
#вопросы_с_собеседований
Что такое прототип объекта?

Прототип — это план (схема или проект) объекта. Он используется как запасной вариант для свойств и методов, существующих в данном объекте. Это также один из способов обмена свойствами и функциональностью между объектами. Это основная концепция прототипного наследования в JS.

Несмотря на то, что объект о не имеет свойства toString, обращение к этому свойству не вызовет ошибки. Если определенного свойства нет в объекте, его поиск осуществляется сначала в прототипе объекта, затем в прототипе прототипа объекта и так до тех пор, пока свойство не будет найдено. Это называется цепочкой прототипов. На вершине цепочки прототипов находится Object.prototype.

Подробнее о прототипах можно прочитать здесь.
920 views17:16
Открыть/Комментировать
2022-11-27 13:02:44
#Вопросы_с_собеседования

Как проверить, является ли значение массивом?

Для этого следует использовать метод Array.isArray.
838 views10:02
Открыть/Комментировать
2022-11-26 18:49:22
Задача

Что будет выведено в консоль после выполнения этого кода?

Ответ
861 views15:49
Открыть/Комментировать
2022-11-25 19:26:56
#Вопросы_с_собеседования

В чём разница между объектами Map и WeakMap?

Эти объекты ведут себя по-разному в том случае, если переменная, содержащая ссылку на объект, являющийся ключом одной из пар ключ/значение, оказывается недоступной.

После того, как завершается выполнение IIFE, у нас уже не будет доступа к объектам a и b. Поэтому сборщик мусора удаляет ключ b из weakmap и очищает память. А вот содержимое map остаётся при этом неизменным.

В результате оказывается, что объекты WeakMap позволяют сборщику мусора избавляться от тех своих записей, на ключи которых нет ссылок во внешних переменных. Объекты map хранят пары ключ/значение вне зависимости от наличия или отсутствия внешних ссылок на ключи. То же самое можно сказать и о реализации структуры данных Map с использованием обычных массивов. В WeakMap используются «слабые» ссылки на ключи. Они не препятствуют работе сборщика мусора в том случае, если на объект, используемый в роли ключа, нет других ссылок.
889 views16:26
Открыть/Комментировать
2022-11-25 16:37:56
#вопросы_с_собеседований
Объясните стрелочные функции.

Стрелочная функция – это краткий способ записи функциональных выражений.

Стрелочные функции не являются конструкторами, не поддерживают ключевые слова this, arguments, super и new.target и записываются так, как показано на картинке.
857 views13:37
Открыть/Комментировать
2022-11-24 20:08:02
JavaScript. Что будет выведено в консоль?

Ответ
898 views17:08
Открыть/Комментировать
2022-11-23 18:28:20 Пишем бота на JavaScript для Minecraft

Смотреть статью
998 views15:28
Открыть/Комментировать
2022-11-22 18:59:27
Найти ближайшее значение в бинарном дереве

Напишите функцию, которая принимает два аргумента — бинарное дерево и значение в виде числа, а возвращает ближайшее значение, найденное в бинарном дереве.

Node = { value: number | null, left: Node | null, right: Node | null }

Решение доступно на картинке. Зная свойство сбалансированного бинарного дерева, где слева находятся все значения нод меньше текущей, а справа равные или больше по значению, мы можем в лучшем случае откидывать каждый раз половину дерева.

В данном решении мы идем рекурсивным путём по нодам, записывая и сравнивая разницу со значением из аргумента. Если значение равно нужному, значит мы нашли нужную нам ноду, а иначе мы смотрим, является ли текущее значение ноды меньше или больше того, которое мы ищем. В зависимости от этого мы продолжаем рекурсивно спускаться в нужном нам направлении, обновляя разницу, до тех пор пока не упремся в конец ветки.
1.0K views15:59
Открыть/Комментировать