Document jQuery.isEmptyObject doesn't take symbols into account

Aberta
#1,192 2 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
35/100
Tipo de issue
Documentação
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
jquery
Domínio
documentation

Direção de pesquisa

Comece localizando a documentação da API jQuery.isEmptyObject e compare sua descrição atual com o comportamento descrito na issue. Confirme se a documentação deve explicar as propriedades Symbol e as propriedades da cadeia de protótipos; em seguida, atualize a documentação relevante e verifique se a entrada renderizada reflete o comportamento acordado.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Description

On version 3.6.0, I found a vulnerability,I find that the method of detecting empty objects is not perfect.

isEmptyObject: function( obj ) {
  var name;

  for ( name in obj ) {
     return false;
   }
   return true;
},

The downside of writing this is that the properties of the prototype chain and the Symbol type are not taken into account,I have a better way to implement it as follows.

isEmptyObject: function( obj ) {
    var keys = Object.keys(obj);

    // 看浏览器是否支持 Symbol
    if (typeof Symbol !== "undefined") {
       keys = keys.concat(Object.getOwnPropertySymbols(obj));
    }
  
    return keys.length === 0;
}
Link to test case

This direct modification of the source code test is good, I do not have a service to run this test. I'm looking forward to hearing from you.

Linguagem predominante
HTML
Estrelas
324
Forks
259
Merge médio
1d 30min
PRs com merge (30d)
1

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de jquery/api.jquery.com

Todas as issues de jquery/api.jquery.com

Issues semelhantes

Mais issues de Documentation

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.