Enum en Javascript... [Résolu]

Messages postés
6
Date d'inscription
samedi 19 novembre 2005
Dernière intervention
3 mars 2006
- - Dernière réponse :  OléOlé - 14 sept. 2015 à 11:04
Bonjour a tous
Y a-t-il en Javascript un enumerateur equivalent a "enum" en C & C++ ?
Si la reponse est "non", quelqu'un aurait-il implemente un objet permettant de "singer" cet "enum" ou eventuellement un "set" ?
Merci
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
Messages postés
19
Date d'inscription
dimanche 30 mai 2004
Dernière intervention
30 septembre 2013
1
Merci
Voici une solution à ce problème: Enum pour JavaScript

Ce n'est pas la meilleure, mais je la trouve plus proche du comportement du type Enum en Java.

Bon code!

TriumpHS

Merci triumphs 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Ok. Et s'est franchement bien expliqué!
Commenter la réponse de triumphs
Messages postés
152
Date d'inscription
dimanche 20 février 2005
Dernière intervention
17 janvier 2014
0
Merci
Précise ton besoin, à quoi pourrait te servir un énumérateur ?
A+.
Commenter la réponse de Anthed
Messages postés
6
Date d'inscription
samedi 19 novembre 2005
Dernière intervention
3 mars 2006
0
Merci
En fait j'ai l'habitude de programmer en C++ ou VB mais je debute en Javascript. En C et autres, le type énumération de données "enum" permet d'obtenir des identificateurs mnémoniques pour un ensemble de valeurs entières, initialisées ou non, par exemple :
enum SAISON {printemps, ete, automne, hiver};enum TAlign {AlignNone -1,AlignLeft 1, AlignTop = 2, AlignRight = 4, AlignBottom = 8};
Bon, pratiquement c'est cette derniere structure dont j'ai besoin. Un type "alignement" de layers dans une classe de gestion de l'espace client d'une page web (ClientArea). Le but est bien sur de pouvoir gerer les redimensionnements de fenetre...
Bien sur je pourrais definir tout simplement des constantes, mais en perdant en lisibilite et structuration du programme, et egalement qq avantages fonctionnels et structurels des "enum", comme l'initialisation automatique des valeurs non initialisees implicitement, par exemple.
Est-ce assez clair ?

PolarMan
Commenter la réponse de PolarMan
Messages postés
152
Date d'inscription
dimanche 20 février 2005
Dernière intervention
17 janvier 2014
0
Merci
Ah, je vois, tu peux peut-être remplacer cette notion par un objet possédant les attributs correspondant à ton énumération :

var alignObject = new AlignObject();

function AlignObject()
{
   this.alignNone = -1;
   this.alignLeft = 1;
   etc
}


Comme ça tu peux remplacer l'accès à ton énumérateur par un accès à l'attribut correspondant de alignObject.

A+.
Commenter la réponse de Anthed
Messages postés
6
Date d'inscription
samedi 19 novembre 2005
Dernière intervention
3 mars 2006
0
Merci
Yep, j'avais pense a un object...
Le probleme est que, pour chaque "equivalent-enum", je devrai coder un nouvel object...
Merci pour ton aide, les grands esprits se rencontrent.
Mais vu qu'il n'y a pas d'equivalent-enum, je vais utiliser des constantes, et plus tard si j'ai le temps je coderai un object generique, avec un Array dans le constructeur ou des params ouverts (si cela existe en JS), que je deriverai eventuellement pour d'autres appli.
Ciao & Takk

PolarMan
Commenter la réponse de PolarMan
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
0
Merci
tu peux faire comme ca pour des enums :


var tonEnum = 
{
      enum1 = 1, 
      enum2 = 2
}

puis ensuite 

alert(tonEnum.enum1) // retournera 1

tu peux aussi te servir de ca pour faire des namespaces 

var tonNamespace = 
{
      tafunction : function(){alert('truc');}
}

etc... 

var tonNamespace = 
{
      tafunction:function{ alert(tonNamespace.enums.align.left)},
      enums: 
      {
            align : 
            {
               left:1, 
               right:2
            }
       }
}

tonNamespace.taFunction(); //affichera 1 :)



<HR>



Cyril - MVS - MCP ASP
Commenter la réponse de jesusonline
Messages postés
15
Date d'inscription
lundi 30 août 2004
Dernière intervention
11 février 2008
0
Merci
Merci pour l'astuce attention juste aux ':' au lieu du '='

var tonEnum = 
{
      enum1 : 1, 
      enum2 : 2
}


ol
Commenter la réponse de oliteine

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.