Rumah >hujung hadapan web >tutorial js >Javascript Essentials : Fungsi Pesanan Tinggi, Kari dan Aplikasi Separa

Javascript Essentials : Fungsi Pesanan Tinggi, Kari dan Aplikasi Separa

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-03 11:49:29796semak imbas

Javascript Essentials : Higher-Order Functions, Currying, and Partial Application

JavaScript Essentials 101: Fungsi Pesanan Tinggi, Kari dan Aplikasi Separa

pengenalan

Selamat datang ke JavaScript Essentials 101, satu siri yang dicipta untuk mendedahkan asas teras JavaScript yang perlu diketahui oleh setiap pembangun. Kami tidak menumpukan pada ciri yang bergaya tetapi pada konsep asas—teknik dan struktur yang telah menjadi sebahagian daripada JavaScript dari awal dan penting untuk menulis kod yang bersih dan berkesan. Walaupun konsep ini kelihatan maju, anggaplah konsep tersebut sebagai sebahagian daripada DNA teras JavaScript, alat yang akan meningkatkan keupayaan menyelesaikan masalah anda, meningkatkan prestasi temu duga anda dan memudahkan penyelenggaraan kod.

Mengapa Ini Penting

Anda mungkin tidak pernah mendengar tentang fungsi tertib lebih tinggi, kari atau aplikasi separa, tetapi ia adalah konsep penting yang membolehkan lebih cekap, boleh digunakan semula , dan kod boleh skala. Sama ada anda bekerja dengan transformasi data, mengoptimumkan panggilan fungsi atau mengendalikan logik yang kompleks, alatan ini adalah kunci untuk memahami bahagian fungsi JavaScript.

Mari kita mendalami teknik ini dengan contoh yang menunjukkan betapa praktikal dan hebatnya teknik ini.


Fungsi Pesanan Tinggi

Fungsi tertib lebih tinggi ialah sebarang fungsi yang sama ada mengambil fungsi lain sebagai hujah atau mengembalikan fungsi sebagai hasilnya. Ini penting kepada JavaScript kerana ia mendayakan teknik pengaturcaraan berfungsi, menjadikan manipulasi data lebih bersih dan lebih intuitif.

Contoh: Mari lihat peta, penapis dan kurangkan, tiga fungsi tertib lebih tinggi yang mengubah tatasusunan dengan sintaks ringkas:

const numbers = [1, 2, 3, 4, 5];

// Using map to double each number
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8, 10]

// Using filter to get even numbers
const evens = numbers.filter(num => num % 2 === 0);
console.log(evens); // [2, 4]

// Using reduce to sum up all numbers
const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 15

Karipap

Kari menukar fungsi dengan berbilang argumen menjadi urutan fungsi, setiap satu mengambil argumen tunggal. Ia berkuasa untuk memecahkan operasi yang kompleks kepada bahagian yang boleh diurus, menjadikan fungsi anda lebih boleh digunakan semula.

Contoh: Berikut ialah fungsi penambahan kari:

const add = a => b => a + b;
const addFive = add(5);

console.log(addFive(3)); // 8
console.log(addFive(10)); // 15

Dengan kari, kami mencipta fungsi addFive boleh guna semula daripada add. Pendekatan modular ini membolehkan anda menggunakan addFive di mana-mana dalam kod anda di mana pengiraan khusus itu diperlukan.

Permohonan Separa

Aplikasi separa adalah seperti kari, tetapi ia membolehkan anda mengisi beberapa hujah fungsi sambil mengekalkan selebihnya dinamik. Ini boleh menjadi penukar permainan untuk tugasan berulang dengan parameter tetap.

Contoh: Mari gunakan kadar cukai 20% pada harga yang berbeza:

const numbers = [1, 2, 3, 4, 5];

// Using map to double each number
const doubled = numbers.map(num => num * 2);
console.log(doubled); // [2, 4, 6, 8, 10]

// Using filter to get even numbers
const evens = numbers.filter(num => num % 2 === 0);
console.log(evens); // [2, 4]

// Using reduce to sum up all numbers
const sum = numbers.reduce((acc, num) => acc + num, 0);
console.log(sum); // 15

Di sini, applyVAT membolehkan anda mengira harga dengan cepat dengan kadar cukai tetap, memastikan kod diperkemas dan boleh dibaca.


Kesimpulan

Fungsi "lanjutan" ini mungkin kelihatan asing, tetapi ia adalah alat penting untuk menguasai keupayaan JavaScript. Dengan memahami fungsi tertib tinggi, kari dan aplikasi separa, anda akan menulis kod yang lebih bersih dan cekap yang lebih mudah untuk diuji dan diselenggara. Dalam bab seterusnya, kami akan terus membina konsep ini, secara beransur-ansur membuka kunci potensi penuh JavaScript. Teruskan—anda melabur dalam asas yang akan meningkatkan kemahiran dan keyakinan anda sebagai pembangun.

Atas ialah kandungan terperinci Javascript Essentials : Fungsi Pesanan Tinggi, Kari dan Aplikasi Separa. 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