Bisakah kita menggunakan pernyataan if dalam switch case di javascript?

Ringkasan. dalam tutorial ini, Anda akan belajar cara menggunakan pernyataan JavaScript switch untuk mengeksekusi blok berdasarkan beberapa kondisi

Pengantar pernyataan switch case JavaScript

Pernyataan switch mengevaluasi expression, membandingkan hasilnya dengan nilai case, dan mengeksekusi pernyataan yang terkait dengan nilai case yang cocok

Berikut ini mengilustrasikan sintaks dari pernyataan switch

switch (expression) { case value1: statement1; break; case value2: statement2; break; case value3: statement3; break; default: statement; }

Code language: JavaScript (javascript)

Bagaimana itu bekerja

  • Pertama, evaluasi expression di dalam tanda kurung setelah kata kunci switch
  • Kedua, bandingkan hasil ekspresi dengan

    if (expression === value1) { statement1; } else if (expression === value2) { statement2; } else if (expression === value3) { statement3; } else { statement; }

    Code language: JavaScript (javascript)
    3,

    if (expression === value1) { statement1; } else if (expression === value2) { statement2; } else if (expression === value3) { statement3; } else { statement; }

    Code language: JavaScript (javascript)
    4, … di cabang case dari atas ke bawah. Pernyataan switch_ menggunakan perbandingan ketat (

    if (expression === value1) { statement1; } else if (expression === value2) { statement2; } else if (expression === value3) { statement3; } else { statement; }

    Code language: JavaScript (javascript)
    7)
  • Ketiga, jalankan pernyataan di cabang case di mana hasil dari expression sama dengan nilai yang mengikuti kata kunci case. Pernyataan

    let day = 3; let dayName; switch (day) { case 1: dayName = 'Sunday'; break; case 2: dayName = 'Monday'; break; case 3: dayName = 'Tuesday'; break; case 4: dayName = 'Wednesday'; break; case 5: dayName = 'Thursday'; break; case 6: dayName = 'Friday'; break; case 7: dayName = 'Saturday'; break; default: dayName = 'Invalid day'; } console.log(dayName); // Tuesday

    Code language: JavaScript (javascript)
    1 keluar dari pernyataan switch. Jika Anda melewatkan pernyataan

    let day = 3; let dayName; switch (day) { case 1: dayName = 'Sunday'; break; case 2: dayName = 'Monday'; break; case 3: dayName = 'Tuesday'; break; case 4: dayName = 'Wednesday'; break; case 5: dayName = 'Thursday'; break; case 6: dayName = 'Friday'; break; case 7: dayName = 'Saturday'; break; default: dayName = 'Invalid day'; } console.log(dayName); // Tuesday

    Code language: JavaScript (javascript)
    1, eksekusi kode jatuh melalui cabang case asli ke yang berikutnya. Jika hasil expression_ tidak persis sama dengan nilai apa pun, pernyataan switch akan mengeksekusi

    let day = 3; let dayName; switch (day) { case 1: dayName = 'Sunday'; break; case 2: dayName = 'Monday'; break; case 3: dayName = 'Tuesday'; break; case 4: dayName = 'Wednesday'; break; case 5: dayName = 'Thursday'; break; case 6: dayName = 'Friday'; break; case 7: dayName = 'Saturday'; break; default: dayName = 'Invalid day'; } console.log(dayName); // Tuesday

    Code language: JavaScript (javascript)
    7 di cabang

    let day = 3; let dayName; switch (day) { case 1: dayName = 'Sunday'; break; case 2: dayName = 'Monday'; break; case 3: dayName = 'Tuesday'; break; case 4: dayName = 'Wednesday'; break; case 5: dayName = 'Thursday'; break; case 6: dayName = 'Friday'; break; case 7: dayName = 'Saturday'; break; default: dayName = 'Invalid day'; } console.log(dayName); // Tuesday

    Code language: JavaScript (javascript)
    8

Bahwa pernyataan switch_ akan berhenti membandingkan hasil expression dengan nilai kasus yang tersisa selama menemukan kecocokan

Pernyataan switch_ seperti pernyataan if…else…if. Tetapi ia memiliki sintaks yang lebih mudah dibaca

Diagram alir berikut mengilustrasikan pernyataan switch

Dalam praktiknya, Anda sering menggunakan pernyataan switch untuk menggantikan pernyataan

Tuesday

4 yang kompleks agar kode lebih mudah dibaca

Secara teknis, pernyataan switch sama dengan pernyataan

Tuesday

_4 berikut

if (expression === value1) { statement1; } else if (expression === value2) { statement2; } else if (expression === value3) { statement3; } else { statement; }

Code language: JavaScript (javascript)
_

Contoh kasus sakelar JavaScript

Mari kita ambil beberapa contoh penggunaan pernyataan JavaScript switch

1) Menggunakan pernyataan beralih JavaScript untuk mendapatkan hari dalam seminggu

Contoh berikut menggunakan pernyataan switch_ untuk mendapatkan hari dalam seminggu berdasarkan nomor hari

let day = 3; let dayName; switch (day) { case 1: dayName = 'Sunday'; break; case 2: dayName = 'Monday'; break; case 3: dayName = 'Tuesday'; break; case 4: dayName = 'Wednesday'; break; case 5: dayName = 'Thursday'; break; case 6: dayName = 'Friday'; break; case 7: dayName = 'Saturday'; break; default: dayName = 'Invalid day'; } console.log(dayName); // Tuesday

Code language: JavaScript (javascript)
_

Keluaran

Tuesday

_

Bagaimana itu bekerja

Pertama, deklarasikan variabel hari yang memuat angka hari dan variabel nama hari (dayName)

Kedua, dapatkan hari dalam seminggu berdasarkan nomor hari menggunakan pernyataan switch. Jika hari adalah

let year = 2016; let month = 2; let dayCount; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: dayCount = 31; break; case 4: case 6: case 9: case 11: dayCount = 30; break; case 2: // leap year if ((year % 4 == 0 && !(year % 100 == 0)) || year % 400 == 0) { dayCount = 29; } else { dayCount = 28; } break; default: dayCount = -1; // invalid month } console.log(dayCount); // 29

Code language: JavaScript (javascript)
_0, hari dalam seminggu adalah

let year = 2016; let month = 2; let dayCount; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: dayCount = 31; break; case 4: case 6: case 9: case 11: dayCount = 30; break; case 2: // leap year if ((year % 4 == 0 && !(year % 100 == 0)) || year % 400 == 0) { dayCount = 29; } else { dayCount = 28; } break; default: dayCount = -1; // invalid month } console.log(dayCount); // 29

Code language: JavaScript (javascript)
1. Jika hari adalah

let year = 2016; let month = 2; let dayCount; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: dayCount = 31; break; case 4: case 6: case 9: case 11: dayCount = 30; break; case 2: // leap year if ((year % 4 == 0 && !(year % 100 == 0)) || year % 400 == 0) { dayCount = 29; } else { dayCount = 28; } break; default: dayCount = -1; // invalid month } console.log(dayCount); // 29

Code language: JavaScript (javascript)
_2, hari dalam seminggu adalah

let year = 2016; let month = 2; let dayCount; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: dayCount = 31; break; case 4: case 6: case 9: case 11: dayCount = 30; break; case 2: // leap year if ((year % 4 == 0 && !(year % 100 == 0)) || year % 400 == 0) { dayCount = 29; } else { dayCount = 28; } break; default: dayCount = -1; // invalid month } console.log(dayCount); // 29

Code language: JavaScript (javascript)
3, dan seterusnya

Bisakah kita menempatkan kondisi Jika di sakelar

Ya , dan begitu saja. Silakan kirim seluruh program Anda atau contoh singkat yang menunjukkan masalah dan deskripsi tentang apa yang terjadi dan menurut Anda apa yang seharusnya terjadi ketika Anda menjalankannya.

Bisakah kita menggunakan kondisi di sakelar

switch adalah jenis pernyataan bersyarat yang akan mengevaluasi ekspresi terhadap beberapa kemungkinan kasus dan mengeksekusi satu atau beberapa blok kode berdasarkan kasus yang cocok . Pernyataan switch terkait erat dengan pernyataan bersyarat yang berisi banyak blok if lainnya, dan sering kali dapat digunakan secara bergantian.

Bisakah kita menggunakan jika

Pernyataan if-else dapat mengevaluasi hampir semua tipe data seperti integer, floating-point, karakter, pointer, atau Boolean. Pernyataan switch dapat mengevaluasi bilangan bulat atau karakter. Dalam kasus pernyataan 'if-else', blok 'if' atau blok 'else' akan dieksekusi berdasarkan kondisi .

Jenis mana yang tidak diperbolehkan di sakelar

Pernyataan switch tidak menerima argumen bertipe long, float, double,boolean atau objek apa pun selain String .