Agak spekulatif, tapi ini kesempatan saya.
jQuery merangkul sepenuhnya sifat fungsional javascript. Itulah yang membuatnya sangat mengagumkan, tetapi bisa membuat banyak pengembang menggaruk-garuk kepala ketika mereka berasal dari bahasa OO yang lebih murni seperti java. Tampaknya melanggar semua konvensi dan praktik yang baik.
Bahasa fungsional cenderung menekankan sintaksis deklaratif. Itu cenderung membaca pernyataan seperti fakta daripada perintah seperti. Contoh
var eligible = customers.where(c => c.age > 30);
yang dapat dibaca sebagai "pelanggan yang memenuhi syarat adalah pelanggan yang usianya di atas 30". Secara konstrast, bahasa imperatif dibaca seperti urutan perintah
for (customer in customers)
if (customer.age > 30)
eligible.add(customer)
Itu dapat dibaca sebagai "Periksa setiap pelanggan, dan jika usianya lebih dari 30, tambahkan mereka ke koleksi yang memenuhi syarat"
Menambahkan aa set
dan get
operasi akan membuat jQuery terasa seperti perpustakaan wajib. Anda dapat menyusun cara untuk membaca pernyataan berikut
// The element tag have an html of <p>hello</p>
$("#element").html("<p>hello</p>");
// content represent the html of the element tag
var content = $("#element").html();
//Imperative style
// Set the element tag to an inner html of <p>hello</p>
$("#element").setHtml("<p>hello</p>");
//Get the html of #element, and put it in the content variable
var content = $("#element").getHtml();
Dengan menjaga kata kerja tindakan dari api jQuery, mereka membuatnya terasa seperti API deklaratif. Ini memberikan nuansa fungsional yang konsisten ke perpustakaan. Itu sebabnya saya pikir mereka kelebihan kata kunci.