Y a-t-il un moyen doux d'initier un tableau s'il n'est pas déjà initilisé? Actuellement le code ressemble à quelque chose comme:Manière élégante d'initialiser et d'étendre un tableau javascript
if (!obj) var obj = [];
obj.push({});
frais serait quelque chose comme var obj = (obj || []).push({})
, mais cela ne fonctionne pas :-(
Um ... Thats une position bizarre pour 'var obj' .. après' if (! obj) ', n'a pas beaucoup de sens,' obj' est-il aussi défini dans une portée plus élevée ou quelque chose? – gnarf
javascript n'init pas une portée supplémentaire à l'intérieur if/else – sod
Je sais cela, c'est pourquoi je me demande pourquoi vous définissez jamais de façon conditionnelle un 'var' comme ça ... Je suppose que' obj' est probablement une fonction paramètre, et le mot-clé 'var' est juste inutile/indésirable ... Sinon, il n'y a aucun moyen de définir' obj' avant cet appel ... Essayez 'obj = {}; (function() {if (! obj) var obj = []; console.log (obj);})(); '- Vous obtiendrez []' – gnarf