22 lines
603 B
JavaScript
22 lines
603 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;
|
|
})();
|