Неявные имена параметров Javascript для лямбд
Есть ли в Javascript/ES8 сокращенные имена аргументов, как в Swift?
например. arr.sort { $0.name > $1.name }
2 ответа
В Javascript нет сокращенных аргументов. Ближайшие альтернативы arguments
и ES6 параметр покоя.
function fn(param1, param2) {
const $ = arguments;
// by name
console.log(param1, param2);
// by order
console.log($[0], $[1]);
}
Параметр покоя более последовательный, чем arguments
последнее не поддерживается в функциях стрелок:
const fn = (...$) => {
// by name
let [param1, param2] = $;
console.log(param1, param2);
// by order
console.log($[0], $[1]);
}
Заметить, что $
Имя параметра используется для проведения аналогии со Swift. Не рекомендуется использовать $
имя на практике, потому что это может быть перепутано с обычным JQuery $
переменная. Обычное значимое имя для параметра rest, которое включает в себя все аргументы: args
,