Annex E (informative) Possible Compatibility Impact가 있는 ECMAScript 2015의 Corrections and Clarifications
9.1.1.4.14-9.1.1.4.17 Edition 5 및 5.1은 new global declaration에 corresponding하는 global object property가 already existed하는지를 determine하기 위해 property existence test를 사용했습니다. ECMAScript 2015는 own property existence test를 사용합니다. 이는 web browsers에서 가장 commonly implemented된 것과 corresponds합니다.
10.4.2.1: 5th Edition은 array index 또는 new length value의 integer conversion보다 current array length의 capture를 prior로 moved했습니다. 그러나 conversion process가 array length를 changing하는 side-effect를 가지면 captured length value가 invalid해질 수 있었습니다. ECMAScript 2015는 current array length가 그러한 side-effects의 possible occurrence 이후에 captured되어야 한다고 specifies합니다.
21.4.1.31: Previous editions는 TimeClip abstract operation이 0 time value의 representation으로 +0𝔽 또는 -0𝔽를 반환하는 것을 permitted했습니다. ECMAScript 2015는 +0𝔽가 always returned된다고 specifies합니다. 이는 ECMAScript 2015에서 Date의 time value가 never observably -0𝔽이고 time values를 반환하는 methods가 never -0𝔽를 반환하지 않음을 의미합니다.
21.4.1.32: UTC offset representation이 present하지 않으면 local time zone이 사용됩니다. Edition 5.1은 missing time zone이 "z"로 interpreted되어야 한다고 incorrectly stated했습니다.
21.4.4.36: year가 21.4.1.32에 specified된 Date Time String Format을 사용해 represented될 수 없으면 RangeError exception이 thrown됩니다. Previous editions는 그 case에 대한 behaviour를 specify하지 않았습니다.
21.4.4.41: Previous editions는 time value가 NaN일 때 Date.prototype.toString이 returned하는 value를 specify하지 않았습니다. ECMAScript 2015는 result를 String value "Invalid Date"로 specifies합니다.
22.2.4.1, 22.2.6.13.1: RegExp instance의 "source" property의 value 내 모든 LineTerminator code points는 escape sequence를 사용하여 expressed되어야 합니다. Edition 5.1은 /의 escaping만 required했습니다.
22.2.6.8, 22.2.6.11: previous editions에서 String.prototype.match와 String.prototype.replace에 대한 specifications는 pattern argument가 global flag가 set된 RegExp value인 cases에 대해 incorrect했습니다. previous specifications는 pattern을 match하려는 각 attempt에서 lastIndex가 change하지 않으면 1만큼 increment되어야 한다고 stated했습니다. correct behaviour는 pattern이 empty String을 matched한 경우에만 lastIndex가 1만큼 increment되어야 한다는 것입니다.
23.1.3.30: Previous editions는 comparator가 returned한 NaN value가 Array.prototype.sort에 의해 어떻게 interpreted되는지 specify하지 않았습니다. ECMAScript 2015는 그러한 value가 comparator로부터 +0𝔽가 returned된 것처럼 treated된다고 specifies합니다. ECMAScript 2015는 또한 comparator가 returned한 result에 ToNumber가 applied된다고 specifies합니다. previous editions에서는 Number value가 아닌 comparator result의 effect가 implementation-defined였습니다. 실제로 implementations는 ToNumber를 call합니다.