Лучшая практика: проверить, существует ли функция перед вызовом его


Скажем у меня есть метод, который принимает необязательный параметр, который является функцией обратного вызова. В какой-то момент в метод, если эта функция существует, я должен позвонить ему. Есть ли лучшие практики для этого?

Мне нравится такой подход: !!callback && callback();

Но я видел, что это проще форма callback && callback(); который чувствует неладное (потому что не явного преобразования callback логическое).

Я мог бы конечно использовать typeof и/или ifно похоже, излишне многословной.

Я googled вокруг немного, но я не вижу ничего конкретного на эту тему. Ли лучшие практики для этого сценария существуют?



448
-1
задан 13 марта 2018 в 06:03 Источник Поделиться
Комментарии
1 ответ

Хороший способ избежать этой проблемы-не иметь необязательные параметры, или, по крайней мере, имеют значения по умолчанию для них.

Например:

const emptyFn = () => {} 

function doStuff(callback = emptyFn){
callback()
}

Но кроме этого, обратный вызов && обратного вызова() довольно известный способ делать такого рода вещи, так что это не плохо, ИМО.

2
ответ дан 13 марта 2018 в 06:03 Источник Поделиться