Kodun böyle görünmesi nadir değildir.
if (x == “value1”) action1();
else if (x == “value2”) action2();
else if (x == “value3”) action3();
else defaultAction();
Böyle bir “gönderimi” daha doğrudan ifade etmeyi amaçlayan anahtar olarak adlandırılan bir yapı vardır. Ne yazık ki, JavaScript’in bu için kullandığı sözdizimi (C / Java programlama dilleri satırından kaleme alınmış) biraz gariptir – ifadelerin daha iyi göründüğü bir zincir. İşte bir örnek:
switch (prompt(“What is the weather like?”)) {
case “rainy”:
console.log(“Remember to bring an umbrella.”);
break;
case “sunny”:
console.log(“Dress lightly.”);
case “cloudy”:
console.log(“Go outside.”);
break;
default:
console.log(“Unknown weather type!”);
break;
}
Anahtar ile açılmış olan bloğun içine herhangi bir sayıda kasa etiketi koyabilirsiniz. Program, anahtarın verildiği değere karşılık gelen etiketde veya eşleşme değeri bulunmazsa varsayılan olarak çalışmaya başlayacaktır. Diğer etiketlerde bile, bir break ifadesine ulaşana kadar yürütmeye devam edecektir. Örnekte “güneşli” durum gibi bazı durumlarda, bu durum durumlar arasındaki bazı kodları paylaşmak için kullanılabilir (hem güneşli hem de bulutlu havalarda dışarı çıkmanızı önerir). Fakat kurumsal web tasarım fiyatları dikkatli olun – böyle bir molayı unutmak kolaydır, bu da programın yürütülmesini istemediğiniz kodu çalıştırmasına neden olur.