Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

291
Visualizações
javaScript: ¿Puede aparecer una coma después del último conjunto de valores en una matriz?

Me pregunto si una coma detrás de una matriz en javascript es válida.

 var settings = { 'foo' : oof, 'bar' : rab, };

contra

 var settings = { 'foo' : oof, 'bar' : rab };

Tenga en cuenta que el segundo ejemplo no tiene una coma después de la última clave/valor.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

La mayoría de los navegadores e implementaciones permiten una coma final, el gran PERO es "Internet Explorer".

Una coma final en la mayoría de las versiones de Internet Explorer causa GRANDES problemas. Lanzará errores extraños, locos , extraños e irrazonables... ¡no tienes idea de dónde estás! Esto es terrible , caerás en profundas y graves depresiones . La enfermedad también tiene un nombre, "coma malvada de la perdición", como se le llamó una vez.

Conclusión: ¡NUNCA… jamás! use una coma final en Javascript.

over 4 years ago · Santiago Trujillo Relatório

0

Históricamente hablando, ES3 NO permitía una coma final al definir un objeto literal. Esto fue algo que IE hizo bien, pero la mayoría de los otros proveedores de arqueros fueron en contra de las especificaciones y lo permitieron de todos modos. Entonces, técnicamente, fue un error en los otros navegadores que lo admitían. En ES3, un ObjectLiteral se definió como,

ObjetoLiteral
    { }
    { NombreDePropiedadYListaDeValores }

Más tarde, ES5 resolvió este problema yendo con la mayoría y legitimando la coma final colocándola en la especificación. Ahora un ObjectLiteral se define como,

ObjetoLiteral
    { }
    { NombreDePropiedadYListaDeValores } 
    { NombreDePropiedadYListaDeValores , }

Fíjate en la coma final al final.

Aunque la coma final se define en un objeto literal, aún no se permite en JSON según ES5. Entonces, mientras que el siguiente objeto literal es válido,

 { foo: "bar", }

el siguiente JSON no lo es,

'{ "foo": "barra", }'

La gramática para un JSONObject es,

Objeto JSON
    { }
    { Lista de miembros JSON }

Lista de miembros JSON
    JSONMiembro  
    JSONMiembroLista, JSONMiembro

JSONMiembro
    Cadena JSON: valor JSON 

En resumen, si no desea preocuparse por las especificaciones o las peculiaridades del navegador, NO agregue una coma al final.

over 4 years ago · Santiago Trujillo Relatório

0

Con respecto a los objetos literales al menos (el título de la pregunta menciona una matriz, pero el ejemplo es un objeto literal) depende de dónde se esté ejecutando su js. Las comas finales en los objetos literales son válidas en ES5. Aunque las comas finales pueden causar problemas en la web (en IE), la mayoría de los minificadores las eliminarán de todos modos.

http://www.2ality.com/2011/06/objeto-literal-coma.html

http://dontkry.com/posts/code/trailing-commas.html

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda