C'est un peu spéculatif, mais voici ma chance.
jQuery embrasse pleinement la nature fonctionnelle de javascript. C'est ce qui le rend si génial, mais cela peut laisser beaucoup de développeurs se gratter la tête lorsqu'ils viennent d'un langage plus purement OO tel que java. Il semble rompre toutes les conventions et bonnes pratiques.
Le langage fonctionnel a tendance à mettre l'accent sur une syntaxe déclarative. Il a tendance à se lire comme l'énoncé d'un fait plutôt que comme des commandes. Exemple
var eligible = customers.where(c => c.age > 30);
qui peut être lu comme "le client éligible est celui dont l'âge est supérieur à 30 ans". Par contraste, le langage impératif se lit comme une séquence de commandes
for (customer in customers)
if (customer.age > 30)
eligible.add(customer)
Cela peut être lu comme "Vérifiez chaque client, et si son âge est supérieur à 30 ans, ajoutez-le à la collection éligible"
L'ajout de aa set
et d'une get
opération donnerait à jQuery l'impression d'être une bibliothèque impérative. Vous pouvez comparer la façon de lire les déclarations suivantes
// 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();
En gardant le verbe d'actions hors de l'API jQuery, ils l'ont fait ressembler à une API déclarative. Il donne une sensation cohérente et fonctionnelle à la bibliothèque. C'est pourquoi je pense qu'ils ont surchargé les mots clés.