Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

285
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!