Сайт в разработке Наполняем разделы и правим ошибки — что-то может выглядеть или работать не так. Если заметили — позвоните или напишите.

JavaScript — Устаревшие возможности

Раздел об устаревших возможностях JavaScript и особенностях старого кода. Откройте справочный материал, чтобы узнать, какие конструкции больше не рекомендуются.

Устаревшие возможности JavaScript могут ещё работать в старом проекте, но для нового кода их выбирать не стоит. Часть конструкций удалена из языка, а часть сохранена ради совместимости и ведёт себя не во всех средах одинаково.

Что встречается в старом коде

with скрывает, к какому объекту относится имя переменной, и запрещён в строгом режиме. arguments.callee обращается к выполняемой функции через объект аргументов и тоже недоступен в строгом режиме. Функции escape() и unescape() не подходят для современных URL: для компонентов адреса используют encodeURIComponent() и decodeURIComponent(). Вместо String.prototype.substr() обычно выбирают slice().

Как обновлять код

Сначала найдите вызовы устаревшей возможности и зафиксируйте их поведение тестами. Затем замените конструкцию на современную с теми же входными данными и проверьте крайние случаи: пустые строки, отрицательные индексы, обработку ошибок. Не делайте массовую замену по совпадению слова: например, substr() и slice() по-разному понимают второй аргумент.

const query = encodeURIComponent("кофе & чай");
console.log(query); // безопасный компонент URL

Раздел помогает распознавать старый синтаксис при поддержке проекта. Для нового кода ориентируйтесь на стандартизованные возможности и проверяйте поддержку конкретной среды выполнения.

Заявка

Расскажите о проекте

Свяжемся в течение рабочего дня, зададим уточняющие вопросы и предложим варианты. Без навязчивых звонков.

Форма обратной связи

Отвечаем в рабочие дни с 10:00 до 19:00

Написать в Telegram

Оценка проекта

Рассчитайте стоимость сайта