Rumah >hujung hadapan web >tutorial js >Permata JavaScript Tersembunyi yang Perlu Anda Gunakan dalam Setiap Projek dalam 4

Permata JavaScript Tersembunyi yang Perlu Anda Gunakan dalam Setiap Projek dalam 4

Barbara Streisand
Barbara Streisandasal
2024-11-22 12:50:16879semak imbas

Hidden JavaScript Gems You Should Use in Every Project in 4

JavaScript ialah tulang belakang pembangunan web moden, dan dengan ekosistemnya yang sentiasa berkembang, sentiasa ada sesuatu yang baharu dan menarik untuk diterokai. Dalam artikel ini, kami akan menyelami 10 permata tersembunyi—kaedah, API dan teknik JavaScript—yang boleh meningkatkan daya projek anda pada tahun 2024. Setiap ciri ini direka bentuk untuk menjimatkan masa, memudahkan pembangunan atau membuka kunci kemungkinan baharu.

  1. Intl API untuk Pemformatan API Antarabangsa ialah kuasa besar untuk pengantarabangsaan dan pemformatan. Sama ada anda berurusan dengan tarikh, nombor atau mata wang, API ini memudahkan untuk membentangkan data dalam format yang mesra pengguna dan khusus setempat.

Contoh: Memformat Mata Wang

const formatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
});
console.log(formatter.format(123456.789)); // Output: "3,456.79"

Kes Penggunaan: Platform e-dagang atau sebarang aplikasi yang memaparkan nilai kewangan.

Mengapa Ia Permata: Anda boleh mengendalikan berbilang tempat dengan satu API, mengelakkan kerumitan pemformatan manual.

  1. structuredClone() untuk Penyalinan Dalam Ucapkan selamat tinggal kepada menulis fungsi salinan dalam tersuai atau bergantung pada perpustakaan pihak ketiga seperti lodash. structuredClone() ialah kaedah JavaScript terbina dalam yang menyediakan cara yang bersih dan cekap untuk mengklon objek secara mendalam.

Contoh: Mengklonkan Objek

const original = { name: 'John', details: { age: 30 } };
const clone = structuredClone(original);

clone.details.age = 31;
console.log(original.details.age); // Output: 30

Kes Penggunaan: Mengklon objek bersarang dalam pengurusan keadaan atau pemprosesan data.

Mengapa Ia Permata: Ia pantas, ringkas dan berfungsi dengan struktur data yang kompleks seperti Peta, Set dan juga Tarikh.

  1. Isyarat API untuk Permintaan Pengambilan Boleh Digugurkan API Isyarat membolehkan anda membatalkan permintaan pengambilan, memberikan anda lebih kawalan ke atas operasi rangkaian anda. Ini amat berguna dalam senario di mana pengguna mungkin menavigasi atau mencetuskan berbilang permintaan.

Contoh: Batalkan Permintaan Ambil

const controller = new AbortController();

fetch('https://api.example.com/data', { signal: controller.signal })
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Fetch aborted:', error));

// Abort the request
controller.abort();

Kes Penggunaan: Meningkatkan prestasi dalam carian atau komponen autolengkap dengan membatalkan permintaan yang tidak perlu.

Mengapa Ia Permata: Ia menghalang pemprosesan yang tidak perlu dan menjimatkan lebar jalur, meningkatkan prestasi.

  1. flatMap() untuk Meratakan dan Memetakan Tatasusunan flatMap() menggabungkan kuasa map() dan flat(), membolehkan anda mengubah dan meratakan tatasusunan sekali gus.

Contoh: Ratakan dan Transformasikan

const nested = [[1], [2, 3], [4]];
const result = nested.flatMap(num => num.map(x => x * 2));
console.log(result); // Output: [2, 4, 6, 8]

Kes Penggunaan: Bekerja dengan data hierarki atau mengubah tatasusunan dengan struktur bersarang.

Mengapa Ia Permata: Ia memudahkan operasi yang memerlukan berbilang kaedah berantai.

  1. WeakRef untuk Pengurusan Memori Objek WeakRef membolehkan anda membuat rujukan lemah kepada objek, menghalangnya daripada disimpan dalam ingatan tanpa perlu. Ini berguna untuk mengurus memori dalam aplikasi besar.

Contoh: Menggunakan WeakRef

let obj = { name: 'Memory Intensive Object' };
const ref = new WeakRef(obj);

// Access the object
console.log(ref.deref()?.name); // Output: "Memory Intensive Object"

// Dereference to free memory
obj = null;
console.log(ref.deref()); // Output: undefined

Kes Penggunaan: Mengendalikan objek dalam cache atau aplikasi intensif data.

Mengapa Ia Permata: Ia membantu mengurangkan kebocoran memori dan mengoptimumkan penggunaan sumber.

  1. Import dinamik() untuk Pemisahan Kod Fungsi import() dinamik membolehkan anda memuatkan modul secara tidak segerak, menjadikannya ideal untuk meningkatkan prestasi apl dengan membahagikan kod kepada beberapa bahagian.

Contoh: Malas Memuatkan Modul

const formatter = new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD',
});
console.log(formatter.format(123456.789)); // Output: "3,456.79"

Kes Penggunaan: Pemuatan progresif sumber tidak kritikal dalam SPA.

Mengapa Ia Permata: Ia mesti dimiliki untuk mengoptimumkan prestasi dan pengalaman pengguna.

  1. Intl.RelativeTimeFormat untuk Masa Boleh Dibaca Manusia API Intl.RelativeTimeFormat memudahkan untuk memformat masa relatif seperti "3 hari lalu" atau "dalam 2 jam."

Contoh: Memaparkan Masa Relatif

const original = { name: 'John', details: { age: 30 } };
const clone = structuredClone(original);

clone.details.age = 31;
console.log(original.details.age); // Output: 30

Kes Penggunaan: Apl media sosial atau blog memaparkan cap masa.

Mengapa Ia Permata: Ia memudahkan tugas biasa sambil menyokong berbilang bahasa.

  1. Promise.allSettled() untuk Mengendalikan Berbilang Janji Apabila bekerja dengan berbilang janji, Promise.allSettled() memastikan anda mendapat hasil untuk semua, sama ada mereka berjaya atau gagal.

Contoh: Mengendalikan Pelbagai Janji

const controller = new AbortController();

fetch('https://api.example.com/data', { signal: controller.signal })
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Fetch aborted:', error));

// Abort the request
controller.abort();

Kes Penggunaan: Mengambil data daripada berbilang API yang sesetengahnya mungkin gagal.

Mengapa Ia Permata: Ia memberikan hasil yang komprehensif tanpa litar pintas pada kegagalan.

  1. Perangkaian Pilihan untuk Akses Harta Yang Selamat Rantaian pilihan (?.) ialah penyelamat untuk mengakses sifat bersarang dalam tanpa perlu risau tentang ralat null atau undefined.

Contoh: Mengakses Hartanah Bersarang

const nested = [[1], [2, 3], [4]];
const result = nested.flatMap(num => num.map(x => x * 2));
console.log(result); // Output: [2, 4, 6, 8]

Kes Penggunaan: Bekerja dengan API atau struktur data yang kompleks.

Mengapa Ia Permata: Ia mengurangkan plat dandang dan mengelakkan ralat masa jalan.

  1. API URL untuk Manipulasi URL API URL menyediakan cara yang elegan untuk memanipulasi URL dalam penyemak imbas atau Node.js.

Contoh: Mengubah suai URL

let obj = { name: 'Memory Intensive Object' };
const ref = new WeakRef(obj);

// Access the object
console.log(ref.deref()?.name); // Output: "Memory Intensive Object"

// Dereference to free memory
obj = null;
console.log(ref.deref()); // Output: undefined

Kes Penggunaan: Mengurus rentetan pertanyaan dalam aplikasi web.

Mengapa Ia Permata: Ia lebih dipercayai dan boleh dibaca daripada gabungan rentetan.

Kesimpulan
JavaScript penuh dengan permata tersembunyi yang boleh menjadikan hidup anda sebagai pembangun lebih mudah dan lebih cekap. Dengan memasukkan API, kaedah dan teknik ini ke dalam projek anda, anda akan menulis kod yang lebih bersih, lebih boleh diselenggara dan lebih berprestasi pada tahun 2024.

Manakah antara permata ini yang anda teruja untuk gunakan dalam projek anda yang seterusnya? Kongsi pendapat anda dalam komen di bawah!

Kekal Berhubung
Untuk lebih banyak petua dan tutorial JavaScript:

? Lawati laman web kami: GladiatorsBattle.com
? Ikuti kami di Twitter: @GladiatorsBT
? Terokai artikel DEV kami: @GladiatorsBT
? Lihat demo interaktif di CodePen: HanGPIIIErr
Mari kita bina sesuatu yang menakjubkan bersama-sama! ?

Atas ialah kandungan terperinci Permata JavaScript Tersembunyi yang Perlu Anda Gunakan dalam Setiap Projek dalam 4. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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