JavaScript `if` İfadesini Etiketleyebilirsiniz

0
29

Etiketler, JavaScript’in oluşturulmasından bu yana var olan bir özelliktir. Yeni değiller! Pek çok insanın onlar hakkında bildiklerini sanmıyorum ve hatta biraz kafa karıştırıcı olduklarını bile iddia ediyorum. Ancak, göreceğimiz gibi, etiketler çok özel durumlarda yararlı olabilir.

Ama önce: JavaScript etiketi bir HTML ile karıştırılmamalıdır

JavaScript etiketi, bir ifadeyi veya bir kod bloğunu adlandırmanın bir yoludur. Tipik olarak: döngüler ve koşullu ifadeler. Bu, etiketli ifadeyi içeriden kırmanıza veya devam ettirmenize olanak tanır. Bir ifadeye bir etiket uygulamak için, ifadeye etiket: ile başlayın ve “etiket” olarak ne koyarsanız, daha sonra başvurabileceğiniz etiket olacaktır.

Bir etiket için temel sözdizimi şöyledir:

let x = 0; // Bir döngüyü “myLoop” myLoop olarak etiketleyin: while (true) {if (x> = 10) {// Bu, “myLoop” un bitmesine neden olur. myLoop’u kır; } x ++; }

Etiketler yalnızca bir ifadeye dahili bir referanstır ve aranabilen, dışa aktarılabilen veya bir değerde depolanabilen bir şey değildir. Değişken isimleriyle de çelişmezler, bu yüzden insanları gerçekten karıştırmak istiyorsanız, bir döngünüz olabilir ve bir değişken aynı isimde olabilir! Lütfen bunu yapmayın – gelecekte siz ve kodunuzu okumak zorunda olan herkes bunu takdir edecektir. Etiketlerin kullanım durumları sınırlıdır, ancak doğru ellerde inanılmaz derecede güçlüdür.

Ara vermek ve devam etmek için kısa bir giriş

Biraz geri dönelim ve moladan bahsedelim ve devam edelim. Bir break ifadesi, o anda çalışan döngüyü veya koşullu ifadeyi sonlandıracaktır. En yaygın olarak bir durumu sonlandırmak için bir switch ifadesinde kullanılır, ancak aynı zamanda bir if ifadesini erken bitirmek veya ayrıca bir for veya while döngüsünün döngüyü bitirmesine ve durdurmasına neden olmak için de kullanılabilir. Koşullu bir ifadeden kaçmanın veya bir döngüyü erken bitirmenin harika bir yoludur.

İşte kullanımda kırılmanın temel bir örneği:

const x = 1; switch (x) {case 1: console.log (‘Markanızla!’); kırmak; // 1 doğruysa switch deyiminin geri kalanını kontrol etmez case 2: console.log (‘Get set!’); kırmak; // 2 doğruysa switch deyiminin geri kalanını kontrol etmez case 3: console.log (‘GO!’); kırmak; // 3 doğruysa switch ifadesinin geri kalanını kontrol etmez} // günlükler: ‘Markanızla!’

Benzer şekilde, continue ifadesi, geçerli yinelemeyi erken bitirmek ve döngünün bir sonraki çalışmasını başlatmak için döngülerle kullanılabilir. Ancak bu yalnızca döngülerin içinde çalışacaktır.

İşte kullanıma devam edin:

for (let x = 0; x & <10; x ++) {if (x! == 5) devam et; // Sayı beş değilse, döngünün bir sonraki geçişine gidin. console.log (x); } // günlükler: 5

Ara içeren bir etiket kullanma

Tipik olarak, herhangi bir tür iç içe geçmiş ifadeye girdiğinizde etiketler için bir kullanım durumu ortaya çıkar. Bunları ara ile kullanmak, derinlemesine iç içe geçmiş bir döngüyü veya koşullamayı durdurabilir ve hemen durmasını sağlayabilir.

Bu blog yazısının başlığına gelelim!

// Dış if ifademiz externalIf: if (true) {// İç if ifademiz insideIf: if (true) {break externalIf; // Dış if ifadesinin sonuna hemen atlar} console.log (‘Bu asla günlüğe kaydetmez!’); }

Orada var, bir if ifadesini etiketleyebilirsiniz.

Continue ile bir etiket kullanma

İç içe bir döngü oluşturduğum ve iç döngü içindeyken dış döngünün bazı yinelemelerini atlamak istediğim zamanlar oldu. Genelde iç döngüyü kırarım, sonra atlamak istediğim durumda olup olmadığımı kontrol ederim, sonra dış döngüye devam ederim. Bu kodu, okunması daha kolay bir ifadeye indirgemek harika!

let x = 0; OuterLoop: while (x <10) {x ++; for (let y = 0; y Blok ifadeleri ve etiketleri

JavaScript’teki blok ifadeleri, oluşturucunuzun kapsamını belirlemenin ve değişkenlerin kodunuzun yalnızca bir kısmına girmesine izin vermenin bir yoludur. Bir işlev oluşturmak zorunda kalmadan bazı değişkenleri yerelleştirmek istiyorsanız bu yararlı olabilir. Bunun (büyük) uyarısı, katı modda blok deyimlerinin geçersiz olmasıdır, bu ES modülleri varsayılan olarak budur.

İşte etiketli bir blok beyanı:

// Bu örnek, ES modülünde bir sözdizimi hatası atar const myElement = document.createElement (‘p’); myConditionalBlock: {const myHash = window.location.hash; // hash yoksa bloktan kaç. eğer (! myHash) myConditionalBlock’u bozar; myElement.innerText = myHash; } console.log (myHash); // tanımsız document.body.appendChild (myElement);

Gerçek dünya kullanımı

Günlük üretim kodunda bir etiket kullanmak için bir neden bulmam biraz zaman aldı. Bu biraz zor olabilir, ancak JavaScript’teki bir etiketin kullanışlı olabileceği bir yer, bir switch ifadesinin içindeyken bir döngüden erken kaçmaktır. Bir anahtardayken kopabileceğiniz için, bir döngüyü erkenden sonlandıran bir etiketi uygulayabilmek kodunuzu potansiyel olarak daha verimli hale getirebilir.

Bunu bir hesap makinesi uygulamasında şu şekilde kullanabiliriz:

const calculatorActions = [
{ action: “ADD”, amount: 1 },
{ action: “SUB”, amount: 5 },
{ action: “EQ” },
{ action: “ADD”, amount: 10 }
]; let el = {}; miktar = 0 olsun; hesapla: while (el) {// calculatorActions dizisinin ilk öğesini kaldır el = calculatorActions.shift (); switch (el.action) {case “ADD”: miktar + = el.amount; kırmak; // “SUB” anahtar durumunu bozar: miktar – = el.amount; kırmak; // “EQ” anahtar durumunu kırar: break hesaplama; // Döngüyü keser varsayılan: hesaplamaya devam et; // Bilmediğimiz bir eylemimiz varsa, atlayın. }}

Bu şekilde, betiğin devam etmesine izin vermek yerine, bir koşul eşleştiğinde hesaplama döngüsünden kurtulabiliriz!

Sonuç

Bir JavaScript etiketi kullanmanız çok nadirdir. Aslında, bunun var olduğunu bilmeden çok tatmin edici bir kariyere liderlik edebilirsiniz. Ancak, hazırlıksız bir şansla, bu sözdiziminin yardımcı olduğu bir yer bulursanız, şimdi onu kullanma yetkisine sahipsiniz.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz