--- title: Symbol.hasInstance slug: Web/JavaScript/Reference/Global_Objects/Symbol/hasInstance translation_of: Web/JavaScript/Reference/Global_Objects/Symbol/hasInstance original_slug: Web/JavaScript/Referencia/Objetos_globales/Symbol/hasInstance ---
{{JSRef}}

El bien conocido símbolo Symbol.hasInstance es usado para determinar si un constructor reconoce un objeto como su instancia. El comportamiento del operador {{jsxref("Operators/instanceof", "instanceof")}} puede ser personalizado con este símbolo.

{{js_property_attributes(0,0,0)}}

Ejemplos

Usted puede implementar un comportamiento personalizado para el operador instanceof tal que así:

class MyArray {
  static [Symbol.hasInstance](instance) {
    return Array.isArray(instance);
  }
}
console.log([] instanceof MyArray); // true

Specifications

Specification Status Comment
{{SpecName('ES2015', '#sec-symbol.hasinstance', 'Symbol.hasInstance')}} {{Spec2('ES2015')}} Initial definition.
{{SpecName('ESDraft', '#sec-symbol.hasinstance', 'Symbol.hasInstance')}} {{Spec2('ESDraft')}}  

Browser compatibility

{{CompatibilityTable}}

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support {{CompatChrome(51)}} {{CompatVersionUnknown}} {{ CompatGeckoDesktop(50) }} {{CompatNo}} {{CompatUnknown}} {{CompatUnknown}}
Feature Android Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support {{CompatUnknown}} {{CompatUnknown}} {{CompatVersionUnknown}} {{ CompatGeckoMobile(50) }} {{CompatNo}} {{CompatUnknown}} {{CompatUnknown}}

Ver también