In JavaScript ist es durchaus möglich Enums anzulegen:
var Protocol =
{
PAMSG_REGISTER:0x0000, // D version, S username, S password, S email, S captcha response
APMSG_REGISTER_RESPONSE:0x0002, // B error, S updatehost, S Client data URL, B Character slots
PAMSG_UNREGISTER:0x0003, // S username, S password
}
Interessant wird es nun, wenn man versucht aus einer Zahl in diesem Beispiel der „2“ wieder einen Enum („APMSG_REGISTER_RESPONSE“) zu erzeugen. Hierbei hilft die Funktion „getEnumFromInteger“ welche wie folgt aussieht:
function getEnumFromInteger(enumWithValues, integer)
{
var keys = Object.keys(enumWithValues);
for (var i=0; i<keys.length; i++)
{
if(enumWithValues[keys[i]]==integer) return keys[i];
}
return null;
}
Damit wird der Enum durchiteriert und der entsprechende Schlüssel, welcher dem Integer entspricht, zurückgegeben.