Annex E (informative) 互換性に影響する可能性があるECMAScript 2015におけるCorrections and Clarifications
9.1.1.4.14-9.1.1.4.17 Edition 5および5.1は、新しいglobal declarationにcorrespondingするglobal object propertyが既にexistedするかどうかをdetermineするためにproperty existence testを使用した。ECMAScript 2015はown property existence testを使用する。これは、web browsersによってmost commonly implementedされてきたものにcorrespondsする。
10.4.2.1:5th Editionは、array indexまたはnew length valueのinteger conversionより前にcurrent array lengthをcaptureするように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𝔽のいずれかをreturnすることをpermittedしていた。ECMAScript 2015は、+0𝔽が常にreturnedされることをspecifiesする。これは、ECMAScript 2015ではDateのtime valueがobservably -0𝔽になることは決してなく、time valuesをreturnするmethodsが-0𝔽を決してreturnしないことを意味する。
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:21.4.1.32でspecifiedされるDate Time String Formatを使用してyearをrepresentedできない場合、RangeError例外が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だけincrementedされるべきだとstatedしていた。correct behaviourは、patternがempty Stringにmatchedした場合にのみlastIndexが1だけincrementedされるべきであるというものである。
23.1.3.30:Previous editionsは、Array.prototype.sortによってcomparatorからreturnedされるNaN valueがどのように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する。