Pemusnahan dalam parameter fungsi

WBOY
Lepaskan: 2024-08-29 10:36:02
asal
667 orang telah melayarinya

Destructuring in function parameters

Katakan saya mempunyai projek dalam three.js dan saya memerlukan beberapa geometri, saya akan hardcode pelbagai objek yang akan mengandungi nilai x,y, dan z mereka serta nilai lebar, tinggi dan kedalamannya tetapi tatasusunan ini mungkin datang daripada pelayan atau API pihak ketiga =>

const geometriesRaw = [
    {
      color: 0x44aa88,
      x: 0,
      y: 1,
      z: 0,
      width: 1,
      height: 1,
      depth: 1
    },
    {
      color: 0x8844aa,
      x: -2,
      y: 1,
      z: 0,
      width: 1.5,
      height: 1.5,
      depth: 1.5
    }

  ];
Salin selepas log masuk

Kemudian saya akan menjadikannya menggunakan Array. fungsi peta =>

  const cubes = geometriesRaw.map((cube)=>{
    <mesh position={[cube.x, cube.y, cube.z]}>
        <boxGeometry args={[cube.width, cube.height, cube.depth]} /> 
        <meshPhongMaterial color={cube.color} /> 
      </mesh>
  }) 

Salin selepas log masuk

Hanya dengan sepintas lalu kita dapat menyedari keterlaluan kod ini, mengulangi kiub hujah setiap kali.
Satu lagi bendera merah ialah tiada kejelasan tentang sifat yang kami gunakan daripada tatasusunan, contohnya, z ialah 0 dalam kedua-dua kes dan ia mungkin akan menjadi sifar dalam kebanyakan kes.
Untuk kes penggunaan biasa kami, kami tidak sepatutnya mendedahkan sifat ini kepada fungsi kami, ini juga boleh berlaku dengan kerap dengan sifat kedalaman.

Atas sebab itu, pilihan terbaik ialah memusnahkan sifat yang datang daripada tatasusunan objek seperti berikut =>

 const cubes = geometriesRaw.map(({x,y, width, color})=>{
    <mesh position={[x, y, 0]}>
        <boxGeometry args={[width, 1, 1]} /> 
        <meshPhongMaterial color={color} /> 
      </mesh>
  }) 

Salin selepas log masuk

Kini kami hanya menggunakan x,y, lebar, warna. Dengan cara ini kami membayangkan bahawa z, ketinggian dan kedalaman adalah sifat lalai dalam fungsi kami dan kami tidak memerlukannya daripada data yang datang daripada pelayan kami atau pihak ketiga

Dengan cara ini kami menyembunyikan sifat untuk pembangun masa depan yang akan berinteraksi dengan pemalar kiub kami, hanya menunjukkan kepada mereka yang kami perlukan daripada sumber luaran dan yang kami tetapkan sebagai lalai untuk amalan yang lebih baik yang boleh kami tulis
const z = 0
...
dalam fungsi kami untuk menjadikannya lebih jelas

Atas ialah kandungan terperinci Pemusnahan dalam parameter fungsi. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!