/**
 * Date.prototype.toISOString()
 * version 0.0.0
 * Feature	        Chrome  Firefox Internet Explorer Opera Safari  Edge
 * Basic support    3       1       9                 10.5  5       12
 * -------------------------------------------------------------------------------
 */
if (!Date.prototype.toISOString) {
  Date.prototype.toISOString = function () {
    function pad(number) {
      if (number < 10) {
        return '0' + number;
      }
      return number;
    }

    return this.getUTCFullYear() +
      '-' + pad(this.getUTCMonth() + 1) +
      '-' + pad(this.getUTCDate()) +
      'T' + pad(this.getUTCHours()) +
      ':' + pad(this.getUTCMinutes()) +
      ':' + pad(this.getUTCSeconds()) +
      '.' + (this.getUTCMilliseconds() / 1000).toFixed(3).slice(2, 5) +
      'Z';
  };
}
@@ -313,20 +313,43 @@
 ng) %7B%0A  
-Date
+Object.defineProperty(Array
 .prototy
@@ -342,33 +342,35 @@
 (Array.prototype
-.
+, '
 toISOString = fu
@@ -368,10 +368,71 @@
 ring
+', %7B%0A    configurable : true,%0A    writable : true,%0A    value :
  
-=
  fun
@@ -880,8 +880,14 @@
 ;%0A  
-%7D
+  %7D %7D)
 ;%0A%7D
+%0A

Define all Date toISOString properties with Object.defineProperty, using the descriptors configurable, writable and non-enumerable.