Как можно использовать @param
намек на дополнительных параметров для function
, что является свойством (this.selectedPage()
) , а также использование@type
намекнуть на его тип возврата?JSDoc: объединение (факультативно) @param и @type для геттера/инкубационных функциональных свойств
Возьмите это, например (this.selectedPage()
может получить страницу, передавая параметр и вернуть один за другим не проходит ни один):
/**
* @type {function(): Page}
*/
this.selectedPage = ko.observable(data.page);
Тип-typehint красиво снимаемого с помощью интегрированной среды разработки и позволяет авто- завершение того факта, что this.selectedPage()
дает Page
.
Однако, пожалуйста, обратите внимание, что this.selectedPage()
принимает параметр - а именно страницу. В противном случае IDE жалуется, что функция позволяет использовать 0 параметров при попытке передать один.
Так что я соединил два:
/**
* @type {function(Page): Page}
*/
this.selectedPage = ko.observable(data.page);
Это, кажется, остановить IDE от жалуясь при попытке передать параметр, но теперь он жалуется, когда не проходя один.
Я пробовал @type {function(undefined|Page): Page}
безрезультатно.
Функция геттер/сеттер - так как можно сообщить докблоку, что @param не является обязательным?
Есть ли причина, по которой вы не используете '@ returns' для возвращаемого типа? –
Потому что это не сработало из-за того, что это свойство. То есть @return работает с функцией() {}, но не на this.func = func() ;. Если это не так, и проблема с IDE. – JDR