ript/Reference/Global_Objects/Array/values)
    43. [ ` Array.prototype.with() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/with)
  6. **Inheritance**
  7. **[ ` Function ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function) **
  8. Constructor 
    1. [ ` Function() constructor ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/Function)
  9. Properties 
    1. [ ` Function.prototype.arguments ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/arguments) Non-standard  Deprecated 
    2. [ ` Function.prototype.caller ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller) Non-standard  Deprecated 
    3. [ ` Function: displayName ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/displayName) Non-standard 
    4. [ ` Function: length ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/length)
    5. [ ` Function: name ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name)
    6. [ ` Function: prototype ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/prototype)
  10. Methods 
    1. [ ` Function.prototype[@@hasInstance]() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/@@hasInstance)
    2. [ ` Function.prototype.apply() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply)
    3. [ ` Function.prototype.bind() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/bind)
    4. [ ` Function.prototype.call() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call)
    5. [ ` Function.prototype.toString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/toString)
  11. **[ ` Object ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object) **
  12. Properties 
    1. [ ` Object.prototype.constructor ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor)
    2. [ ` Object.prototype.__proto__ ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/proto) Deprecated 
  13. Methods 
    1. [ ` Object.prototype.__defineGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineGetter__) Deprecated 
    2. [ ` Object.prototype.__defineSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__defineSetter__) Deprecated 
    3. [ ` Object.prototype.__lookupGetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupGetter__) Deprecated 
    4. [ ` Object.prototype.__lookupSetter__() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/__lookupSetter__) Deprecated 
    5. [ ` Object.prototype.hasOwnProperty() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)
    6. [ ` Object.prototype.isPrototypeOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf)
    7. [ ` Object.prototype.propertyIsEnumerable() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/propertyIsEnumerable)
    8. [ ` Object.prototype.toLocaleString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toLocaleString)
    9. [ ` Object.prototype.toString() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString)
    10. [ ` Object.prototype.valueOf() ` ](/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/valueOf)

##  In this article

  * Syntax 
  * Description 
  * Examples 
  * Specifications 
  * Browser compatibility 
  * See also 

#  Array[@@species]

The **` Array[@@species] ` ** static accessor property returns the constructor
used to construct return values from array methods.

**Warning:** The existence of ` @@species ` allows execution of arbitrary code
and may create security vulnerabilities. It also makes certain optimizations
much harder. Engine implementers are [ investigating whether to remove this
feature ](https://github.com/tc39/proposal-rm-builtin-subclassing) . Avoid
relying on it if possible. Modern array methods, such as [ ` toReversed() `