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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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