In C# È possibile utilizzare un'enumerazione.Idioma JavaScript per limitare una stringa a un numero di valori discreti
In JavaScript, come posso limitare un valore a un insieme di valori discreti in modo idiomatico?
In C# È possibile utilizzare un'enumerazione.Idioma JavaScript per limitare una stringa a un numero di valori discreti
In JavaScript, come posso limitare un valore a un insieme di valori discreti in modo idiomatico?
A volte definiamo una variabile in una classe di JS 'enumerazioni' lungo queste linee:
var Sex = {
Male: 1,
Female: 2
};
e quindi fare riferimento semplicemente come un C# enumerazione.
Grazie. Stai capitalizzando il nome dell'oggetto qui perché si riferisce a una funzione di costruzione (Object)? – Ben
Non particolarmente, solo un richiamo a C# e il modo in cui useremo maiuscole. – dougajmcdonald
Fondamentalmente, non è possibile.
La tipizzazione forte non esiste in JavaScript, quindi non è possibile limitare i parametri di input a un tipo specifico o una serie di valori.
Non esiste un tipo di enumerazione in JavaScript. Si potrebbe, tuttavia, avvolgere un oggetto con un metodo getter e setter attorno ad esso come
var value = (function() {
var val;
return {
'setVal': function(v) {
if (v in [ listOfEnums ]) {
val = v;
} else {
throw 'value is not in enumeration';
}
},
'getVal': function() { return val; }
};
})();
Eventuali duplicati di http://stackoverflow.com/questions/287903/enums-in-javascript – Travesty3