Обратная совместимость означает, что если нечто принимается как допустимый код JS, то в будущем не могут произойти изменения, из-за которых этот код станет недопустимым. Код, написанный в 1995 году, каким бы примитивным или ограниченным он ни был, должен работать и в наши дни. Как часто заявляют участники TC39, «мы не ломаем веб».
Суть в том, что разработчики JS могут писать код и быть полностью уверенными в том, что их код неожиданно не перестанет работать из-за обновления браузера. В результате решение о выборе JS для написания программы становится намного более разумным и надежным капиталовложением на многие будущие годы.
Не стоит недооценивать эту «гарантию». Сохранение обратной совместимости, растянувшееся почти на 25 лет истории языка, создает огромное бремя и обилие уникальных проблем. Вряд ли вы найдете в компьютерной отрасли много аналогичных примеров такого самоотверженного обеспечения обратной совместимости.