Сокращение для пустой функции в Node.js
В JS существует стенограмма для пустого объекта, который равен {}
. Есть ли сокращение для пустого function
в JS?
Причина в том, что, поскольку функции являются объектами первого класса, мы чаще используем их как аргументы, но передача в пустую функцию в лучшем случае уродлива.
var foo = baz(function(){});
Чтобы объявить функцию, в какой-то точке мы должны объявить function(){}
.
Я бы хотел, чтобы больше API Node.js требовало передачи функции (обратного вызова), поэтому API не обманывает синхронно. Возможно, одним шагом в этом направлении было бы создание сокращений для пустых функций-заполнителей.
Ответы
Ответ 1
Нет, нет. С ES6 вы можете использовать функцию стрелки: ()=>{}
, которая немного короче.
Если вам действительно нужно это очень часто (вы не должны?!), вы можете объявить его сами:
function noop(){}
а затем повторите это. Если вы не хотите загромождать свою область видимости, вы также можете использовать функцию Function.prototype
(sic!), Которая ничего не возвращает, но постоянно возвращает undefined
, но это на самом деле дольше, чем выражение вашей функции.
Ответ 2
ES6 один может быть
const noop = () => {};
Будьте осторожны, если используете Babel, так как он не передает его правильно, вместо этого используйте это.
const noop = () => ({});
Посмотрите этот твит о том, почему фигурные скобки важны https://twitter.com/_ericelliott/status/601420050327711744?lang=en
Ответ 3
Если вы используете lodash, есть метод noop.