& (string | number)
.keyofStringsOnly: true
и тогда все ключи буду только типа стринг, но он деприкейдет и, насколько помню, будет вскоре удалён. Или уже. if (s.match(/^$/)) {
if (bIndex != -1) { return bIndex; } else { return -1; }
if (aIndex != -1) {
if (bIndex == -1) {
return aIndex;
}
else {
return Math.max(aIndex, bIndex);
}
}
if (bIndex != -1) {
return bIndex;
}
else {
return -1;
}
Заменяется на:return Math.max(aIndex, bIndex);
// or
return aIndex > bIndex ? aIndex : bIndex;
while ((aIndex == -1) && (bIndex == -1) && (i > 0)) { if (s.substring(i, i +1) == a) { aIndex = i; } if (s.substring(i, i +1) == b) { bIndex = i; } i = i - 1; }
useCallback(() => {}, [...])
// =
useMemo(() => {
return () => {}
}, [...])
useMemo(() => {
return debounce(() => {})
}, [...])
useTimeout(func(), 1000)
debounce надо над useCallback.