Operador de instancia de JavaScript:qué hace, cómo usarlo

Este artículo explicará qué JavaScript instancia de hace el operador y cómo se puede utilizar. Se proporcionan ejemplos.

¿Qué significa instanceof hacer?

La instancia de El operador devuelve VERDADERO o FALSO dependiendo de si un valor o variable dada es de un determinado tipoclase – comprueba si un valor es una instancia de una clase o tipo de objeto determinado.

El propósito de instanceof puede parecer confuso, ya tienes typeof , entonces, ¿qué necesita instanceof para?

tipo de simplemente devolverá una cadena que contiene el nombre del tipo o clase de la variable. Por el contrario, instanceof devolverá un valor booleano que confirma si una determinada variable coincide con una determinada clase en un nivel programático.

¿Qué es un Tipo/Clase?

Una variable tipo determina qué tipo de datos puede almacenar y qué se puede hacer al respecto. Un tipo de variable se define por su clase – que es el código que define qué datos se pueden almacenar y las funciones y el comportamiento asociado.

Por ejemplo, cadena Las variables escritas son secuencias de caracteres que se pueden unir y dividir (piensa en palabras y oraciones ), mientras que las variables de tipo numérico contienen valores numéricos que se pueden usar en aritmética.

instancia de Sintaxis

La sintaxis para usar instanceof es el siguiente:

OBJECT instanceof CONSTRUCTOR

Tenga en cuenta que:

  • OBJETO es la variable o el valor que desea comprobar
  • CONSTRUCTORA es el nombre de la clase que desea comprobar si OBJECT es una instancia de
  • Se devolverá un valor booleano VERDADERO o FALSO
  • instancia de comprueba toda la cadena de prototipos del OBJECT
    • Esto significa que instanceof puede devolver un resultado positivo para dos CONSTRUCTOR diferentes s si un constructor se deriva del otro

instancia de Ejemplos de JavaScript

Este ejemplo crea una Persona clase, y luego se crea un objeto usando esta clase. instancia de luego se usa para confirmar que el objeto creado es de la clase Person.

// Define a constructor which creates an object of the Person class - containing a person's details
function Person(name, age, height) {
    this.name = name;
    this.age = age;
    this.height = height;
}

// Define a new person using the above constructor
var jim = new Person('Jim', 21, 182);

// Check whether the jim variable is an instance of the Person class
console.log(jim instanceof Person);
// Will return true as jim is an instance of the Person class

// Check whether the jim variable is of the Object class 
console.log(jim instanceof Object);
// Will also return true - JavaScript objects are an inheritable class which other objects are built on

console.log(jim instanceof String);
// Will return false as the jim variable is not of the String type

Tenga en cuenta que jim objeto se considera una instancia tanto de la PersonaObjeto clases:como Persona la clase extiende el Objeto clase. En la mayoría de los casos, las clases personalizadas en JavaScript extenderán la clase Objeto cuando se creen, a menos que se especifique lo contrario.

Para obtener más ejemplos sobre cómo se puede utilizar instanceof, consulte la documentación para desarrolladores de Mozilla.