См. Правку внизу !!
Тестирование его в WebStorm с небольшим фрагментом, по-видимому, указывает на то, что *=
означает, что параметр не необязательный и может быть любого типа, где *
указывает, что параметр любого типа и необязателен , Смотрите следующий пример с сгенерированным jsdoc из WebStorm:
/**
*
* @param createProps
* @returns {function(*=, *): void}
*/
export function a(createProps) {
return (callback, callback2) => console.log(callback);
}
Как видите, мы используем только первый параметр callback
и оставляем callback2
неиспользованным. Для этого Webstorm генерирует соответствующий jsdoc.
Полный jsdoc для нашего примера выше в английских словах: Return an arrow function that takes two parameters, a **not** optional first parameter that can be of any type, and an optional second parameter that can be of any type. That function returns void
Ссылка на документы:
http://usejsdoc.org/tags-type.html
Необязательный параметр
Необязательный параметр с именем foo.
@ param {number} [foo]
// или:
@ param {number =} foo
Необязательный параметр foo со значением по умолчанию 1.
@ param {число} [foo = 1]
РЕДАКТИРОВАТЬ: Документы указывают, что =
означает optional parameter
, но веб-буря генерирует его с противоположным значением. Либо это неправильно задокументировано, либо WebStorm делает это неправильно. Я проверил это в WebStorm 2018.1
Сборка № WS-181.4203.535, построена 22 марта 2018 года