26 lines
606 B
JavaScript
26 lines
606 B
JavaScript
"use strict";
|
|
|
|
var setPrototypeOf = require("../object/set-prototype-of")
|
|
, isExtensible = require("./_is-extensible");
|
|
|
|
module.exports = (function () {
|
|
var SubArray;
|
|
|
|
if (isExtensible) return require("./_sub-array-dummy");
|
|
|
|
if (!setPrototypeOf) return null;
|
|
SubArray = function () {
|
|
var arr = Array.apply(this, arguments);
|
|
setPrototypeOf(arr, SubArray.prototype);
|
|
return arr;
|
|
};
|
|
setPrototypeOf(SubArray, Array);
|
|
SubArray.prototype = Object.create(Array.prototype, {
|
|
constructor: { value: SubArray,
|
|
enumerable: false,
|
|
writable: true,
|
|
configurable: true }
|
|
});
|
|
return SubArray;
|
|
}());
|