Heim > Web-Frontend > js-Tutorial > Verbessern des JavaScript-Codes: Verwenden von Objekten anstelle von Switch-Anweisungen

Verbessern des JavaScript-Codes: Verwenden von Objekten anstelle von Switch-Anweisungen

Mary-Kate Olsen
Freigeben: 2025-01-14 16:29:44
Original
639 Leute haben es durchsucht

Enhancing JavaScript Code: Using Objects Instead of Switch Statements

Einführung

Das ist ein kurzes und etwas ungewöhnliches Thema, über das ich schreiben kann, aber während meiner Arbeit bin ich im Internet nicht oft darauf gestoßen, daher hier mein Beitrag. Ich würde gerne die Meinung anderer zu dieser Methode hören, da ich sie regelmäßig verwende. Ich schreibe nicht gerne mehrere Fälle in eine Switch-Anweisung, deshalb empfand ich die Verwendung eines Objekts als sauberere Alternative. Es ist vielleicht nicht schneller, aber der Code sieht für mich sauberer aus.

Demonstration

Ich möchte Bestellungen mit unterschiedlichen Zahlungsstatus bearbeiten und unterschiedliche Behandlungen anwenden, je nachdem, ob sie bezahlt sind oder nicht.

Beginnen wir damit:

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)
}
Nach dem Login kopieren

Wir möchten eine spezifische Behandlung basierend auf dem order. paymentStatus anwenden. Eine einfache Lösung wäre die Verwendung einer switch-Anweisung wie dieser:

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)
}
Nach dem Login kopieren

Es ist ein einfacher Fall, da wir zwei Optionen und eine Standardoption haben, aber stellen Sie sich das mit mehreren Zahlungsmethoden vor. Aus Gründen der Übersichtlichkeit belassen wir es so:

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")
}
Nach dem Login kopieren

Fazit

Die Verwendung eines Objekts anstelle einer Switch-Anweisung kann die Lesbarkeit und Wartbarkeit Ihres Codes verbessern, insbesondere wenn mehrere Fälle behandelt werden. Es ist eine Frage der persönlichen Präferenz, aber es lohnt sich, als alternativen Ansatz darüber nachzudenken.

Lassen Sie mich gerne wissen, wenn Sie weitere spezifische Änderungen oder Ergänzungen vornehmen möchten!

Das obige ist der detaillierte Inhalt vonVerbessern des JavaScript-Codes: Verwenden von Objekten anstelle von Switch-Anweisungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage