ДЖАВАСКРИПТИЗЕРЫ | КИРИЛЛ ПОЗДНЯКОВ
5.29K subscribers
347 photos
263 links
Меня зовут Кирилл и я Тех Лид. Если по-простому то я fullstack разработчик с большим опытом :)
Создатель и разработчик (реклама): @HelloMeanOfficial
Download Telegram
На связи создатель канала

Увидел заинтересованность в курсе, создал отдельный канал где будет вся информация (сколько стоит, что будет и тд. )

Переходи за информацией сюда https://t.me/+ArAQp_pk6QYxZWIy
👍1
Какие значения falsy и что это такое ?

Ложноподобное (falsy) значение — значение, которое становится false в булевом контексте.
JavaScript использует преобразование типов, чтобы привести значение к булевому типу, там, где это требуется (например, в условных конструкциях и циклах.

Данные которые будут преобразованы в false: false, 0 (Ноль Number (к нему также относятся 0.0, 0x0 и т.д.)), -0 (Отрицательный ноль типа Number), 0n (Ноль типа BigInt (также 0x0n). Обратите внимание, что не может быть негативного нуля типа BigInt — отрицательный 0n равняется 0n.), "", '', `` (Значение, содержащее пустую строку .), null , undefined, NaN

Ссылочные типы данных всегда true, так как они создают ссылку на себя
👍4🔥1
Лучший фреймворк/библиотека для frontend ?
Anonymous Poll
79%
React
10%
Vue
8%
Angular
1%
Solid
2%
Svelte
👍4
Что такое Reflect ?

Reflect – встроенный объект, упрощающий создание прокси.

Ранее мы говорили о том, что внутренние методы, такие как [[Get]], [[Set]] и другие, существуют только в спецификации, что к ним нельзя обратиться напрямую.

Объект Reflect делает это возможным. Его методы – минимальные обёртки вокруг внутренних методов.

В частности, Reflect позволяет вызвать операторы (new, delete…) как функции (Reflect.construct, Reflect.deleteProperty, …). Это интересная возможность, но здесь нам важно другое.

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

Поэтому мы можем использовать Reflect, чтобы перенаправить операцию на исходный объект.
👍2
Как написать свой Декоратор в TypeScript ?

Декораторы являются инструментом декларативного программирования, они позволяют добавить к классам и их членам метаданные и тем самым изменить их поведение без изменения их кода.

На текущий момент декораторы являются экпериментальной функциональностью языка TypeScript, поэтому при компиляции следует указывать параметр experimentalDecorators. Например, через файл tsconfig.json

В TypeScript есть декораторы: классов, методов, аксессоров, аттрибутов, параметров
👍1
Вам интересна тема TypeScript ?
Anonymous Poll
95%
Да
5%
Нет
Hoisting что это такое ?

Поднятие или hoisting — это механизм в JavaScript, в котором переменные и объявления функций, передвигаются вверх своей области видимости перед тем, как код будет выполнен.

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

Стоит отметить то, что механизм “поднятия” передвигает только объявления функции или переменной. Назначения переменным остаются на своих местах.
👍6
Как работает Function Declaration ?

Function declarations загружаются до выполнения кода. Function expressions загружаются только тогда, когда интерпретатор достигает этой строки кода.

Function declarations поддерживает всплытие

Function expressions не поддерживает всплытие


На фото продемонстрировано объявление функции в стиле Function declarations
👍7
Как в строке заменить слово кратчайшим способом ?

string.replaceAll
Метод replaceAll() возвращает новую строку, в которой все совпадения шаблона заменены новым значением. Шаблон может быть строкой или регулярным выражением, а заменой может быть строка или функция, вызываемая для каждого совпадения.

string.replace
Тоже самое, только для первого найденого элемента
👍12
Как скопировать элемент массива в другую позицию ?

Метод copyWithin() копирует элементы массива в другую позицию массива. Он перезаписывает существующие значения и не добавляет элементы в массив. Первый параметр target указывает, куда копируются элементы.

Параметры start и end отвечают за то, откуда начинается и заканчивается копирование.
👍12
Как работает for...of/for...in ?

Оператор for...of создает цикл, перебирающий итерируемые объекты, включая встроенные объекты String, Array, массивоподобные объекты, TypedArray, Map, Set и пользовательские итерируемые объекты. Он вызывает пользовательский крючок итерации с операторами, которые должны выполняться для значения каждого отдельного свойства объекта.

Оператор for...of поддерживает деструктуризацию.

Оператор for...in проходится по ключам итерируемой сущности.
👍16
Как отбросить дробную часть у числа ?

Функция Math.trunc() усекает точку и цифры справа от числа, независимо от того, является ли аргумент положительным или отрицательным числом. Аргумент, переданный этому методу, будет неявно преобразован в числовой тип.
👍9
Array.toLocaleString

Метод toLocaleString() возвращает строку, представляющую элементы массива. Элементы преобразуются в строки с использованием их методов toLocaleString. Затем эти строки разделяются строкой, зависящей от локали (например, запятой ",").
👍6
Что такое перегрузка функций в TypeScript ?

Перегрузка сигнатуры (оverload signatures) определяет параметры и типы возвращаемых данных функции и не имеет тела. Функция может иметь несколько перегрузок сигнатуры: в соответствии с различными способами вызова функции.

Имплементация сигнатуры (іmplementation signature), с другой стороны, также имеет типы параметров и тип возвращаемого значения, а также тело, реализующее функцию. Реализация сигнатуры может быть только одна
👍7
Что такое proto и prototype ?

Свойство proto — это свойство по умолчанию, добавляемое к каждому объекту. Это свойство указывает на прототип объекта. Свойство prototype функции-конструктора инициализирует proto объектов, экземпляры которых создаются с помощью этого конструктора.
👍13
Как заполнить текущую строку другой строкой ?

Метод padEnd() заполняет текущую строку другой строкой (при необходимости несколько раз), пока результирующая строка не достигнет заданной длины. Заполнение применяется с конца текущей строки.
👍13
Операторы логического присваивания

Javascript поддерживает возможность комбинировать логические операции и операцию присваивания с помощью операторов &&=, ||= и ??=. До ES2021 составные операторы присваивания были возможны только с математическими и побитовыми операциями.

Оператор логического нулевого присваивания x ?? = y назначает, только если x имеет значение null или undefined.

Оператор логического ИЛИ (OR) x ||= y присваивает, только если x является ложным.

Оператор логического И (AND) присваивания x &&= y выполняет присваивание, только если x истинно.
👍13🔥1