Избегайте неопределённости. Например, если у вас есть значение obj, которое может быть undefined или объектом, рассмотрите возможность исключения неопределенности через явное условие: if (obj !== undefined) { // … } Тогда компилятору не придётся делать множество лишних проверок, как в случае, если вы напишите: if (obj) { // … } Что должен сделать компилятор в этом случае? Проверить, что obj не является пустой строкой, false, 0 или undefined. Всё это порождает лишние проверки в байткоде. Кажется, что достаточно понимания того, что перед нами объект, а объект всегда возвращает true на toBoolean. Но, к сожалению, в нашем динамически типизируемом языке компилятору придётся следить за всем циклом жизни переменной obj, чтобы убедиться, что на вход условия действительно пришёл объект. Дополнительная польза: когда вы будете читать свой код через год (или это будет делать кто-то другой), вам будет гораздо проще понять, что на самом деле проверяет ваше условие. Еще больше полезной информ
Помогите JavaScript понять, что на самом деле вы хотите сделать
5 октября 20215 окт 2021
4
~1 мин