Un objet peut-il être undefined/false ?
Bonjour à tous
Voilà je me lance dans ma première bibliothèque, et je voudrais savoir si il est possible de la structurer de sorte que mes objets puissent être crées de cette façon :
Code:
var canvas = new Layout.webglCanvas(...) || new Layout.webglErrorFrame ({allow_2d: true}) || new Layout.defaultCanvas(...);
A savoir : est ce que ce qui est censé être un objet peut en fait être false/undefined ?
Il semblerait que non, puisque si j'écris :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| var Layout = {} ;
Layout.webglCanvas = function( parameters )
{
var test = false;
if (test)
return new function()
{
this.name = "name";
}
else
return false;
}; |
J'obtiens quand même un objet avec :
Code:
var truc = new Layout.webglCanvas();
Et d'ailleurs si le constructeur Layout.webglCanvas est vide j'obtiens quand même un objet ..
Y a t-il un moyen d'arriver à ce genre d'appel sur 1 ligne pour simplifier (et éviter d'écrire à chaque fois une propriété d'objet puis la tester ..) ?
Merci d'avance