Я наткнулся на этот фрагмент кода в репозитории github, и я не мог понять этот маленький фрагмент кода, что означает «? Функция»?
handleCardNumberBlur = ({ onBlur }: { onBlur?: ?Function } = { onBlur: null })
=> (e: SyntheticInputEvent<*>) => {
const { customTextLabels } = this.props;
if (!payment.fns.validateCardNumber(e.target.value)) {
this.setFieldInvalid(customTextLabels.invalidCardNumber || 'Card number is invalid');
}
const { cardNumberInputProps } = this.props;
cardNumberInputProps.onBlur && cardNumberInputProps.onBlur(e);
onBlur && onBlur(e);
}
Итак, скажите, правильно ли я понял,
{ onBlur }: { onBlur?: ?Function } = { onBlur: null }
Это означает, что переменная onBlur, если она определена, оставить как есть, если undefined относится к типу function и для начала со значением null?
Это не Javascript. Это Поток.