Rumah > hujung hadapan web > tutorial js > Meningkatkan Kod JavaScript: Menggunakan Objek Daripada Tukar Pernyataan

Meningkatkan Kod JavaScript: Menggunakan Objek Daripada Tukar Pernyataan

Mary-Kate Olsen
Lepaskan: 2025-01-14 16:29:44
asal
639 orang telah melayarinya

Enhancing JavaScript Code: Using Objects Instead of Switch Statements

pengenalan

Ini adalah topik yang pendek dan agak luar biasa untuk ditulis, tetapi saya tidak banyak menemuinya di web semasa bekerja, jadi inilah sumbangan saya. Saya ingin mendengar pendapat orang ramai tentang kaedah ini kerana saya kerap menggunakannya. Saya tidak suka menulis berbilang kes dalam pernyataan suis, jadi saya dapati menggunakan objek sebagai alternatif yang lebih bersih. Ia mungkin tidak lebih pantas, tetapi kod itu kelihatan lebih bersih bagi saya.

Demonstrasi

Saya mahu mengendalikan pesanan dengan status pembayaran yang berbeza dan menggunakan rawatan yang berbeza bergantung pada sama ada ia dibayar atau tidak.

Mari kita mulakan dengan ini:

const orders = [{
  "id": 1,
  "product": "shoes",
  "paymentStatus": "Paid"
},{
  "id": 2,
  "product": "pants",
  "paymentStatus": "Pending"
},{
  "id": 3,
  "product": "tie",
  "paymentStatus": "UnPaid"
}];


const handlePaymentStatus =(order) =>{
  return order.paymentStatus
}

for (const order of orders) {
 handlePaymentStatus(order)
}
Salin selepas log masuk

Kami ingin memohon rawatan khusus berdasarkan pesanan.paymentStatus. Penyelesaian mudah ialah menggunakan pernyataan suis seperti ini:

let orders = [{
  "id": 1,
  "product": "shoes",
  "paymentStatus": "Paid"
},{
  "id": 2,
  "product": "pants",
  "paymentStatus": "Pending"
},{
  "id": 3,
  "product": "tie",
  "paymentStatus": "Unpaid"
}];


const handlePaymentStatus =(order) =>{
switch (order.paymentStatus) {
  case 'Paid':
    console.log("it's all good");
    break;
  case 'Unpaid':
    console.log("need to be paid");
    break;
  default:
    console.log(`We'll wait`);
}
}

for (const order of orders) {
 handlePaymentStatus(order)
}
Salin selepas log masuk

Ini adalah kes yang mudah kerana kami mempunyai dua pilihan dan lalai, tetapi bayangkan ia dengan berbilang kaedah pembayaran. Kami akan menyimpannya seperti ini untuk tujuan kejelasan:

let orders = [{
  "id": 1,
  "product": "shoes",
  "paymentStatus": "Paid"
},{
  "id": 3,
  "product": "tie",
  "paymentStatus": "Unpaid"
},{
  "id": 2,
  "product": "pants",
  "paymentStatus": "Pending"
},];

const paymentStatusHandlers = {
  'Paid': () =>  console.log("it's all good"),
  'Unpaid': () => console.log("needs to be paid"),
}

for (const order of orders) {
 paymentStatusHandlers[order.paymentStatus] 
    ? paymentStatusHandlers[order.paymentStatus]()
    : console.log("We'll wait")
}
Salin selepas log masuk

Kesimpulan

Menggunakan objek dan bukannya pernyataan suis boleh menjadikan kod anda lebih mudah dibaca dan diselenggara, terutamanya apabila menangani berbilang kes. Ini soal keutamaan peribadi, tetapi ia patut dipertimbangkan sebagai pendekatan alternatif.

Sila beritahu saya jika terdapat sebarang perubahan atau penambahan khusus lain yang ingin anda buat!

Atas ialah kandungan terperinci Meningkatkan Kod JavaScript: Menggunakan Objek Daripada Tukar Pernyataan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan