var v1 = new String("tralala");
switch (v1.toString()) {
case "tralala": alert(1); break;
default: alert(2);
}
а бесит вас от незнания того, что можно делать с помощью switch:
var a = {};
var b = a;
switch (a) {
case b: alert(1); break;
default: alert(2);
}
метки могут указывать не только на строки, поэтому и не срабатывает встроенный метод toString, как в случае с alert, чтобы можно было сравнить ссылки на объекты.
var v1 = new String("tralala");
alert(v1); // тут автоматически срабатывает toString: alert(v1.toString())
v1.toString = function () { return "O_o"; };
alert(v1);