Каррирование
Это преобразование функции с множеством аргументов в набор вложенных функций с одним аргументом. При вызове каррированной функции с передачей ей одного аргумента, она возвращает новую функцию, которая ожидает поступления следующего аргумента. Новые функции, ожидающие следующего аргумента, возвращаются при каждом вызове каррированной функции — до тех пор, пока функция не получит все необходимые ей аргументы. Ранее полученные аргументы, благодаря механизму замыканий, ждут того момента, когда функция получит всё, что ей нужно для выполнения вычислений. После получения последнего аргумента функция выполняет вычисления и возвращает результат.
Это преобразование функции с множеством аргументов в набор вложенных функций с одним аргументом. При вызове каррированной функции с передачей ей одного аргумента, она возвращает новую функцию, которая ожидает поступления следующего аргумента. Новые функции, ожидающие следующего аргумента, возвращаются при каждом вызове каррированной функции — до тех пор, пока функция не получит все необходимые ей аргументы. Ранее полученные аргументы, благодаря механизму замыканий, ждут того момента, когда функция получит всё, что ей нужно для выполнения вычислений. После получения последнего аргумента функция выполняет вычисления и возвращает результат.
WeakMap
Ключами могут быть только объекты. Не доступны некоторые методы в отличии от Мар (size). При удалении объекта – удалит его из памяти и такого ключа не будет. При удалении ключа – удаляется ссылка. Если использовали бы массив то при удалении, ссылка на него для других переменных после присваивания осталась бы.
Не поддерживает перебор
Ключами могут быть только объекты. Не доступны некоторые методы в отличии от Мар (size). При удалении объекта – удалит его из памяти и такого ключа не будет. При удалении ключа – удаляется ссылка. Если использовали бы массив то при удалении, ссылка на него для других переменных после присваивания осталась бы.
Не поддерживает перебор
Генераторы
Генераторы – новый вид функций в современном JavaScript. Они отличаются от обычных тем, что могут приостанавливать своё выполнение, возвращать промежуточный результат и далее возобновлять его позже, в произвольный момент времени.
Для объявления генератора используется новая синтаксическая конструкция: function* (функция со звёздочкой).
При вызове не выполняет код, а создает объект.
Генераторы – новый вид функций в современном JavaScript. Они отличаются от обычных тем, что могут приостанавливать своё выполнение, возвращать промежуточный результат и далее возобновлять его позже, в произвольный момент времени.
Для объявления генератора используется новая синтаксическая конструкция: function* (функция со звёздочкой).
При вызове не выполняет код, а создает объект.
Forwarded from Кладовая Разработчика
Web-сервер глазами хакера.pdf
28.7 MB
Книга "Web-сервер глазами хакера"
Forwarded from Кладовая Разработчика
Мартин_Роберт_Чистая_архитектура_Искусство_разработки_программного.pdf
11.4 MB
Книга "Чистая архитектура. Искусство разработки программного обеспечения"
Forwarded from Кладовая Разработчика
JavaScript_Подробное_руководство.pdf
12 MB
Книга "JavaScript. Подробное руководство"