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