Я могу запоминать функцию с помощью:
const f = memoize(function(){/* ... */})
const f = memoize(() => {/* ... */})
Однако, с целью создания хороших документов,Мне нужно использовать синтаксис:
function f() { /* ... */ }
Как мне это запомнить?
Как сказал @Jonas, впоследствии вы можете просто перезаписать объявленную переменную (f = memoise(f)).Современная альтернатива - использовать предложенный и экспериментальный декоратор вместе с вашим любимым транспилером и написать
f = memoise(f)
@memoise function f() { /* ... */ }
Сделайте const f1 = memoize(function(){/* ... */}) или const f1 = memoize(() => {/* ... */}) по своему усмотрению, а затем напишите function f() { ... }, который просто вызывает f1 со своими параметрами и возвращает результат.
const f1 = memoize(function(){/* ... */})
const f1 = memoize(() => {/* ... */})
function f() { ... }
f1
просто добавьте строку:
function f() { /* ... */ } // @ts-ignore f = memoize(f);