Rumah > hujung hadapan web > tutorial js > Mengapa JavaScript tidak huru-hara?

Mengapa JavaScript tidak huru-hara?

Patricia Arquette
Lepaskan: 2025-01-21 04:28:13
asal
505 orang telah melayarinya

Por qué JavaScript no es un desorden?

Ia sentiasa tidak menggalakkan saya...

Saya menjengkelkan apabila mendengar bahawa pembangunan bahagian hadapan adalah kucar-kacir, terutamanya kenyataan bahawa JavaScript "menerima apa-apa" dan boleh ditulis dalam apa jua cara tanpa menjejaskan keputusan akhir.

Sebenarnya, ia tidak sepenuhnya palsu. Memang benar bahawa JavaScript membenarkan berbilang pendekatan untuk mencapai matlamat yang sama.

Masalahnya terletak pada kekurangan corak reka bentuk serta ditakrifkan seperti di bahagian belakang. Pada bahagian hadapan, amalan terbaik tersebar, menjana kepelbagaian pendapat dan kekurangan keseragaman. Penyerakan ini menyukarkan pembangunan dan pemahaman, terutamanya untuk pemula. Malah sesiapa yang menulis ini mempunyai pendapatnya sendiri.


Inti utama…

Di sebalik kekecewaan, saya ingin menekankan bahawa kekurangan bukti amalan baik tidak bermakna ia tidak wujud. Adalah penting untuk mencari pengetahuan dan menggunakan sekurang-kurangnya asas corak reka bentuk. Dalam JavaScript, terdapat banyak sumber dengan pelaksanaan dan corak yang ditetapkan. Ia hanya mengambil masa untuk membaca dan memahami tujuan dan penggunaan yang betul. Contoh: Dokumentasi Mozilla untuk JavaScript.


Contoh praktikal…

Kod berikut datang daripada projek sebenar dalam pengeluaran. Walaupun ia berfungsi dengan betul, pelaksanaannya boleh dipertingkatkan dalam kebolehbacaan dan prestasi.

Kami akan melaraskan beberapa bahagian agar sejajar dengan pengesyoran dalam dokumentasi JavaScript, menggunakan kaedah dan fungsi yang lebih cekap. Kami akan memberi tumpuan kepada konsep asas: manipulasi tatasusunan dan objek. Kod ini dipermudahkan untuk tujuan pendidikan.

Mari kita mulakan dengan objek, mewakili data yang diterima daripada API bahagian belakang:

<code class="language-javascript">const storesList = [{
  activeStories: [
    {
      name: 'Starbucks',
      code: 1
    },
    {
      name: 'Duck Duck Coffe',
      code: 2
    }
  ],
  inactiveStories: [
    {
      name: 'Mac Coffe',
      code: 3
    }
  ]
}]</code>
Salin selepas log masuk

Kita perlu menambah medan "label" dengan awalan "Dibuka" diikuti dengan nama kedai.

Mari kita lihat pelaksanaan yang "kurang ideal", yang tidak menggunakan alat JavaScript terbaik:

<code class="language-javascript">storesList.reduce((previous, current) => {
  current.activeStories.forEach(store => {
    previous.push({
      ...store,
      label: `Opened ${store.name}`
    })
  })

  return previous
}, [])

// resultado:
[
    {
        "name": "Starbucks",
        "code": 1,
        "label": "Opened Starbucks"
    },
    {
        "name": "Duck Duck Coffe",
        "code": 2,
        "label": "Opened Duck Duck Coffe"
    }
]</code>
Salin selepas log masuk

Kami melihat .reduce, .forEach dan .push, hanya untuk membina semula senarai. Kekurangan penggunaan .flatMap dan .map adalah jelas. Sintaksnya mengelirukan dan bertele-tele.

Mari kita lihat pelaksanaan yang dipertingkatkan:

<code class="language-javascript">storesList.flatMap((item) => {
  return item.activeStories
}).map((item) => {
  return {
    ...item,
    label: `Opened ${item.name}`
  }
})</code>
Salin selepas log masuk

Lebih ringkas, bukan?

.flatMap "meratakan" susunan objek kepada satu tahap:

<code class="language-javascript">[
    {
        "name": "Starbucks",
        "code": 1
    },
    {
        "name": "Duck Duck Coffe",
        "code": 2
    }
]</code>
Salin selepas log masuk

Kemudian, .map "memetakan semula" tatasusunan, menambah sifat "label":

<code class="language-javascript">[
    {
        "name": "Starbucks",
        "code": 1,
        "label": "Opened Starbucks"
    },
    {
        "name": "Duck Duck Coffe",
        "code": 2,
        "label": "Opened Duck Duck Coffe"
    }
]</code>
Salin selepas log masuk

Kesimpulan…

JavaScript menawarkan alatan untuk menulis kod berkualiti. Yang penting ialah mempelajarinya dan mengaplikasikan konsep dengan betul, bukan hanya program demi pengaturcaraan.


Cadangan membaca:

Atas ialah kandungan terperinci Mengapa JavaScript tidak huru-hara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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