


Konsep JavaScript Lanjutan menjanjikan dan tidak segerak/menunggu dan cuba tangkap
Dec 27, 2024 am 01:00 AMHari 8: Konsep JavaScript Lanjutan
Tarikh: 15 Disember 2024
Selamat datang ke Hari ke-8! Hari ini kami meneroka beberapa konsep JavaScript yang paling berkuasa dan termaju yang meningkatkan kemahiran pengaturcaraan anda. Ini termasuk ciri ES6 moden, pengaturcaraan tak segerak dengan janji dan async/menunggu, dan pengendalian ralat yang berkesan menggunakan cuba-tangkap. Alat ini penting untuk membina aplikasi JavaScript yang cekap, boleh dibaca dan boleh diselenggara.
1. Pengenalan kepada Ciri ES6
ES6 (juga dipanggil ECMAScript 2015) memperkenalkan beberapa ciri yang menjadikan JavaScript lebih berkuasa dan mesra pembangun. Mari bincangkan beberapa ciri utama:
Memusnahkan
Pemusnahan membolehkan anda mengekstrak nilai daripada tatasusunan atau sifat daripada objek dan menetapkannya kepada pembolehubah dengan cara yang bersih dan ringkas.
Contoh: Pemusnahan Tatasusunan
const numbers = [1, 2, 3]; const [first, second, third] = numbers; console.log(first, second, third); // Output: 1 2 3
Contoh: Pemusnahan Objek
const user = { name: "Alice", age: 25 }; const { name, age } = user; console.log(name, age); // Output: Alice 25
Templat Huruf
Tersurat templat memudahkan pemformatan rentetan dengan membenarkan ungkapan terbenam dan rentetan berbilang baris.
Contoh: Interpolasi Rentetan
const name = "John"; const greeting = `Hello, ${name}! Welcome to JavaScript.`; console.log(greeting); // Output: Hello, John! Welcome to JavaScript.
Contoh: Rentetan Berbilang Baris
const message = `This is a multi-line string using template literals.`; console.log(message);
2. Janji dan async/menunggu
Janji
Janji ialah objek yang mewakili penyiapan atau kegagalan operasi tak segerak.
Contoh: Menggunakan Janji
const fetchData = new Promise((resolve, reject) => { let dataLoaded = true; if (dataLoaded) { resolve("Data fetched successfully!"); } else { reject("Failed to fetch data."); } }); fetchData .then((data) => console.log(data)) // Output: Data fetched successfully! .catch((error) => console.error(error));
Async/Tunggu
async/wait ialah cara yang lebih bersih untuk bekerja dengan janji, menjadikan kod tak segerak kelihatan dan berkelakuan seperti kod segerak.
Contoh: Menggunakan async/menunggu
const fetchData = () => { return new Promise((resolve, reject) => { setTimeout(() => resolve("Data loaded!"), 2000); }); }; const getData = async () => { console.log("Fetching data..."); const data = await fetchData(); console.log(data); // Output: Data loaded! }; getData();
3. Ralat Mengendalikan dengan cuba-tangkap
Ralat boleh berlaku semasa pelaksanaan kod, terutamanya dengan operasi tak segerak. Mengendalikan ralat ini dengan anggun memastikan pengalaman pengguna yang lancar.
Contoh: Tangkap cuba asas
try { let result = 10 / 0; console.log(result); // Output: Infinity } catch (error) { console.error("An error occurred:", error.message); }
Menggunakan try-catch dengan Async/Await
Apabila bekerja dengan kod tak segerak, gunakan try-catch untuk mengendalikan ralat.
const fetchData = () => { return new Promise((resolve, reject) => { let success = false; if (success) { resolve("Data fetched!"); } else { reject("Failed to fetch data."); } }); }; const getData = async () => { try { const data = await fetchData(); console.log(data); } catch (error) { console.error("Error:", error); } }; getData();
4. Kes Penggunaan Praktikal
Mari gabungkan konsep ini menjadi contoh dunia nyata: mengambil data pengguna daripada API.
Contoh: Mengambil Data dengan Async/Await dan Pengendalian Ralat
const numbers = [1, 2, 3]; const [first, second, third] = numbers; console.log(first, second, third); // Output: 1 2 3
5. Ambilan Utama
- Memusnahkan: Memudahkan kerja dengan tatasusunan dan objek.
- Templat Literal: Menjadikan manipulasi rentetan lebih mudah.
- Janji dan Async/Await: Mengendalikan operasi tak segerak dengan berkesan.
- Pengendalian Ralat: Gunakan try-catch untuk mengurus ralat dengan anggun.
Amalan Tugasan untuk Hari 8
- Gunakan penstrukturan untuk mengekstrak sifat tertentu daripada objek.
- Tulis fungsi yang menggunakan async/menunggu untuk mengambil data daripada API awam.
- Tambah pengendalian ralat pada fungsi anda untuk mengendalikan kegagalan rangkaian atau data tidak sah.
Langkah Seterusnya
Esok, pada Hari 9, kita akan menyelami Modul dan Kelas JavaScript, meneroka aspek modular dan berorientasikan objek JavaScript. Pengetahuan ini akan membantu anda menulis kod yang lebih bersih dan teratur. Jumpa lagi!
Atas ialah kandungan terperinci Konsep JavaScript Lanjutan menjanjikan dan tidak segerak/menunggu dan cuba tangkap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Jika aplikasi JavaScript memuat perlahan -lahan dan mempunyai prestasi yang buruk, masalahnya adalah bahawa muatan terlalu besar. Penyelesaian termasuk: 1. Penggunaan kod pemisahan (codesplitting), memecah bundle besar ke dalam pelbagai fail kecil melalui react.lazy () atau membina alat, dan memuatkannya seperti yang diperlukan untuk mengurangkan muat turun pertama; 2. Keluarkan kod yang tidak digunakan (treeshaking), gunakan mekanisme modul ES6 untuk membersihkan "kod mati" untuk memastikan perpustakaan yang diperkenalkan menyokong ciri ini; 3. Memampatkan dan menggabungkan fail sumber, membolehkan GZIP/Brotli dan Terser memampatkan JS, menggabungkan fail dan mengoptimumkan sumber statik; 4. Gantikan kebergantungan tugas berat dan pilih perpustakaan ringan seperti hari.js dan ambil

Perbezaan utama antara modul ES dan Commonjs adalah kaedah pemuatan dan senario penggunaan. 1.Commonjs dimuatkan secara serentak, sesuai untuk persekitaran sisi pelayan Node.js; 2. Modul tidak disengajakan, sesuai untuk persekitaran rangkaian seperti penyemak imbas; 3. Sintaks, modul ES menggunakan import/eksport dan mesti terletak di skop peringkat atas, manakala penggunaan CommonJS memerlukan/modul.exports, yang boleh dipanggil secara dinamik pada runtime; 4.Commonjs digunakan secara meluas dalam versi lama node.js dan perpustakaan yang bergantung kepadanya seperti Express, manakala modul ES sesuai untuk kerangka depan moden dan nod.jsv14; 5. Walaupun ia boleh dicampur, ia boleh menyebabkan masalah dengan mudah.
