Neste artigo você vai aprender a como verificar se objeto está vazio em JavaScript de uma forma fácil, apenas utilizando recursos de JS!

verificar se objeto está vazio em JavaScript capa

Fala programador(a), beleza? Bora aprender mais sobre objetos e JavaScript!

Para esta tarefa temos duas boas abordagens, isso por que a versão de JavaScript ES6 ainda não está totalmente padronizada nos navegadores

Então é interessante ter uma abordagem cross browser e outra que possa ser utilizada nas versões mais recentes da linguagem, para Node ou TypeScript, por exemplo

Vamos então a abordagem padronizada primeiramente!

Nela vamos checar se o objeto possui alguma propriedade e também se o objeto é um objeto vazio

E retornar  um booleano baseado nestas verificações feitas, veja o código:

function isEmpty(obj) {
  for(var prop in obj) {
    if(obj.hasOwnProperty(prop)) {
      return false;
    }
  }

  return JSON.stringify(obj) === JSON.stringify({});
}

console.log(isEmpty({})); // true
console.log(isEmpty({nome: "Matheus"})); // false

Perceba que no primeiro teste temos true, objeto vazio, e na segunda temos false, já que o objeto possui valores

Objeto vazio em ES6

Agora vamos para a próxima abordagem, utilizando a versão ES6+ da linguagem JS

Aqui temos acesso as chaves do objeto e podemos verificar a sua length

Outra possibilidade é também checar a presença de um constructor, já que esta versão da linguagem já o possui

Veja a abordagem:

function isEmpty(obj) {
  return Object.keys(obj).length === 0 && obj.constructor === Object;
}

console.log(isEmpty({})); // true
console.log(isEmpty({nome: "Matheus"})); // false

Muito mais simples esta abordagem, por que com a evolução da linguagem temos acessos a mais recursos e também mais avançados

Conclusão

Neste artigo vimos como verificar se objeto está vazio em JavaScript

Utilizamos duas abordagens, uma com as funcionalidades padronizadas em todos os navegadores, ou seja antes da versão ES6

Onde verificamos cada uma das propriedades do objeto para então dar o retorno

E já na versão ES6 temos acessos a propriedades novas como as keys, e também podemos validar a presença do constructor

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Subscribe
Notify of
guest

0 Comentários
Inline Feedbacks
View all comments