O que é instanceof?

O operador instanceof é uma funcionalidade presente na linguagem de programação JavaScript que permite verificar o tipo de um objeto. Ele retorna um valor booleano, ou seja, true ou false, indicando se um objeto é uma instância de uma determinada classe ou de uma classe derivada. Neste artigo, iremos explorar em detalhes o funcionamento do operador instanceof, bem como sua aplicação prática no desenvolvimento de aplicações em JavaScript.

O que é instanceof? – Uma visão geral sobre o operador de verificação de tipo

O operador instanceof é utilizado para verificar se um objeto é uma instância de uma determinada classe ou de uma classe derivada. Ele retorna true se o objeto for uma instância da classe especificada e false caso contrário. Essa verificação é feita levando em consideração a cadeia de protótipos do objeto, ou seja, ele verifica se o objeto é uma instância da classe ou de alguma classe derivada dela.

Por exemplo, considere a seguinte situação em JavaScript:

class Animal {
  constructor(name) {
    this.name = name;
  }
}

class Dog extends Animal {
  constructor(name, breed) {
    super(name);
    this.breed = breed;
  }
}

let myDog = new Dog("Max", "Labrador");

console.log(myDog instanceof Dog); // true
console.log(myDog instanceof Animal); // true
console.log(myDog instanceof Object); // true

No exemplo acima, o objeto myDog é uma instância da classe Dog, que por sua vez é uma classe derivada da classe Animal. Portanto, as verificações utilizando o operador instanceof retornam true para as classes Dog, Animal e Object, já que todas estão presentes na cadeia de protótipos do objeto myDog.

Utilizando instanceof em JavaScript – Como verificar o tipo de um objeto com precisão

O operador instanceof pode ser utilizado para verificar o tipo de um objeto de forma precisa. Ele é especialmente útil quando se trabalha com herança e polimorfismo, permitindo identificar se um objeto é uma instância de uma classe específica ou de uma classe derivada.

Além disso, é importante ressaltar que o operador instanceof também pode ser utilizado para verificar se um objeto é uma instância de uma interface ou de um tipo primitivo, como string, number ou boolean.

Por exemplo:

let myString = "Hello, world!";
let myNumber = 42;

console.log(myString instanceof String); // false
console.log(myNumber instanceof Number); // false
console.log(typeof myString === "string"); // true
console.log(typeof myNumber === "number"); // true

No exemplo acima, o operador instanceof não retorna true para as variáveis myString e myNumber, pois elas não são instâncias dos objetos String e Number, respectivamente. No entanto, a verificação utilizando o operador typeof retorna true para os tipos primitivos string e number, indicando que as variáveis são do tipo esperado.

Neste artigo, vimos que o operador instanceof é uma ferramenta poderosa para verificar o tipo de um objeto em JavaScript. Ele permite identificar se um objeto é uma instância de uma classe específica ou de uma classe derivada, levando em consideração a cadeia de protótipos do objeto.

Além disso, o operador instanceof também pode ser utilizado para verificar se um objeto é uma instância de uma interface ou de um tipo primitivo. No entanto, é importante ressaltar que o operador instanceof não é capaz de verificar tipos primitivos diretamente, sendo necessário utilizar o operador typeof nesses casos.

Portanto, o operador instanceof é uma ferramenta fundamental no desenvolvimento de aplicações em JavaScript, permitindo verificar o tipo de um objeto com precisão e facilitando a implementação de conceitos como herança e polimorfismo.

Continua após a publicidade..
Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Description
  • Weight
  • Dimensions
  • Additional information
  • Add to cart
Click outside to hide the comparison bar
Compare
Continua após a publicidade..