Learning FROM JQuery

When I look at CVs from some web development applicants they often claim  proficiency in JavaScript under the fact they have used JQuery. When those applicants face an interview, their apparent confidence in JavaScript falls apart just asking them how to make an AJAX request using plain JavaScript, how to traverse the DOM or basic questions about JavaScript and data structures in general such as the difference between objects and arrays.

While JQuery is an amazing library, there’s an enormous gap between knowing how to use JQuery and understand the depths of JavaScript and the front end stack in general. Before you claim expertice in JavaScript, you need to be comfortable with the language minutiae such as its data types, prototypical inheritance, closures, hoisting, etc. Also you should understand how the language works, including scope chains, execution context, activation object and many more. And since JavaScript is often used inside a web-browser, you need to understand the DOM API in order to create high-performance applications.

But fear not! Learning and mastering a matter is a really fun thing, and if you’re comfortable using JQuery, you can learn a lot from it. So I’d like to share some resources to master JavaScript and front-end development in general from JQuery source code:

By now, you should be able to read and examine the JQuery source code with confidence:

  • Don’t feel overwhelmed if you don’t fully understand it. Truth to be told, JQuery has a lot of voodoo things that may scare you, but that doesn’t mean it’s impossible to understand.
  • I don’t believe it’s important to remember the version-specific details of the code, or the fixes for old browsers. Try to understand instead its architecture, how it does DOM traversal (the ‘magic’ selectors), how accomplish things like method chaining, constructor functions, etc.
  • As the source code grows with the time, try to read instead older versions for clarity. Paul Irish in his videos comments version 1.4.* which I believe is pretty much readable.
  • Read Zepto.js source code as well. It’s a JQuery-compatible library, which code is more concise and clear for learning purposes.

Hope this suggestions work well for you. Feel free to suggest new ones!

  • http://twitter.com/richistron Richistron Jackson

    Nice post bro!!

  • http://www.facebook.com/kayowayo Kayode Rotato Poti Anthony

    cool post