Как убедиться, что программы ES3 будут работать в Механизм ES5?

Итак, ECMAScript 5 вводит некоторые несовместимости с ECMAScript 3.


Пример :

Многие статьи содержат было написано, что this === null || this === undefined возможно в строгом режиме ES5 :

"use strict";
(function () {
    alert(this); // null
}).call(null);

Но, ... Значение thisArg передается без изменений как значение this . Это изменение по сравнению с Редакцией 3, где undefined или null thisArg заменяется глобальным объектом, а ToObject применяется ко всем другим значениям, и этот результат передается как это значение.

В настоящее время IE9 - единственный браузер, который действительно реализует ES5 таким образом, и оказывается, что это может нарушить работу текущих скриптов . Отлично.


В приложении E спецификации ES5 перечислены десятки других несовместимостей.

Ну и что? лучший способ убедиться, что наши проверенные сценарии ES3 будут продолжать работать безупречно? Какой-то автоматизированный набор тестов? Придется ли нам все это тестировать вручную?

5
задан user123444555621 23 October 2010 в 07:31
поделиться