Введение
В этом практическом занятии мы изучим концепцию переворачивания аргументов функции в JavaScript. Мы узнаем, как передавать функцию в качестве аргумента и переупорядочивать аргументы так, чтобы первый аргумент стал последним. В ходе этого упражнения мы лучше освоим деструктуризацию аргументов, замыкания и вариативные аргументы в JavaScript.
Переупорядочить аргументы функции с помощью flip
Для обмена порядком аргументов функции используйте функцию flip. Эта функция принимает функцию в качестве аргумента и возвращает новую функцию, которая меняет местами первый и последний аргументы.
Для реализации flip:
- Используйте деструктуризацию аргументов и замыкание с вариативными аргументами.
- Используйте оператор расширения (
...), чтобы вставить первый аргумент в конец перед применением остальных.
const flip =
(fn) =>
(first, ...rest) =>
fn(...rest, first);
Вот пример того, как использовать flip для переупорядочивания аргументов Object.assign:
let a = { name: "John Smith" };
let b = {};
// Создайте новую функцию, которая меняет местами аргументы Object.assign
const mergeFrom = flip(Object.assign);
// Создайте новую функцию, которая связывает первый аргумент с a
let mergePerson = mergeFrom.bind(null, a);
// Вызовите новую функцию с b в качестве второго аргумента
mergePerson(b); // Теперь b равно a
// Альтернативно, объедините a и b без использования новой функции
b = {};
Object.assign(b, a); // Теперь b равно a
Резюме
Поздравляем! Вы завершили практическое занятие по переворачиванию аргументов функции. Вы можете выполнить больше практических заданий в LabEx, чтобы улучшить свои навыки.