Может показаться, что прямую совместимость следовало бы включать в проектирование языка программирования, но обычно делать это нерационально. Разметка (HTML) и стилевое оформление (CSS) имеют декларативную природу, поэтому будет намного проще «пропустить» нераспознанные объявления с минимальными последствиями для других распознанных объявлений.
Но если язык программирования начнет избирательно пропускать непонятные команды (и даже выражения), это приведет к хаосу и недетерминированному поведению, потому что нельзя быть уверенным в том, что следующая часть программы не зависит от обработки пропущенной части.
Хотя JS не обладает (и не может обладать) прямой совместимостью, очень важно понимать суть обратной совместимости JS, включая долгосрочные преимущества для веб-страниц, а также ограничения и сложности, которые она создает для JS в результате.