Если вы запускаете shorten
несколько раз, движок V8 имеет JIT-компилятор , который оптимизирует этот фрагмент кода, чтобы он работал быстрее в следующий раз.
Когдаво второй раз он выполняет один и тот же вызов функции, может быть, он может понять, что только что выполнил те же вычисления и все еще имеет результат в памяти
То, что вы описали, известно как памятка , а V8 этого не делает.Тем не менее, есть библиотеки (например, fast-memoize
), которые это делают.
Но вам лучше всего сохранить результат вычисления в переменной и сослаться на него.