これは短くて少し珍しいトピックですが、仕事中にウェブ上であまり目にしたことがなかったので、ここに私の投稿を記載します。私はこの方法を定期的に使用しているので、この方法について人々の意見を聞きたいです。私は switch ステートメント内に複数のケースを記述するのが好きではないので、オブジェクトを使用する方がよりクリーンな代替手段であることがわかりました。高速ではないかもしれませんが、コードがよりきれいに見えます。
支払いステータスが異なる注文を処理し、支払いの有無に応じて異なる処理を適用したいと考えています。
まずはこれから始めましょう:
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) }
order.paymentStatus に基づいて特定の処理を適用したいと考えています。簡単な解決策は、次のような switch ステートメントを使用することです:
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) }
これは 2 つのオプションとデフォルトがあるため単純なケースですが、複数の支払い方法がある場合を想像してください。わかりやすくするために、このようにしておきます:
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") }
switch ステートメントの代わりにオブジェクトを使用すると、特に複数のケースを扱う場合に、コードがより読みやすく保守しやすくなります。これは個人的な好みの問題ですが、別のアプローチとして検討する価値があります。
他に具体的な変更や追加が必要な場合は、お気軽にお知らせください。
以上がJavaScript コードの強化: switch ステートメントの代わりにオブジェクトを使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。