JSのoverloadはfunctionでないと認識しない

  • このエントリーをはてなブックマークに追加

関数定義をconstで行っていると認識しなかった。

/**
* @overload
* @param {true} flag
* @param {Ref<MyClass|undefined>}
*/
/**
* @overload
* @param {false} flag
* @param {Ref<MyClass>}
*/
const myFunction = (flag) => {
};

functionで定義するとoverloadを認識します。
また、コメントは分割しないとLinterに怒られました。

/**
* @overload
* @param {true} flag
* @param {Ref<MyClass|undefined>}
*/
/**
* @overload
* @param {false} flag
* @param {Ref<MyClass>}
*/
function myFunction(flag) {
}