My Progress with YDKJS Series

A week ago I started reading You Don’t Know JS by Kyle Simpson. As I already have some experience in programming (both in JavaScript and C++), it was a smooth ride and I have finished the first 3 titles of the series.

So, here are the highlights of the new stuff that I have learned so far:

  • Possibility to indicate (with block-scoping) to the JS engine that certain data can be garbage-collected.
  • Browser debugging
  • Dynamic, call-site late-binding of this
  • Currying of function parameters with the help of bind(..) method
  • Default fallback this may be redirected to point to another object (instead of global or undefined, depending on the ‘strict mode’ setting)
  • Various ways of using lexical this (though discouraged) — arrow functions, var self = this.
  • ES6 introduces a built-in method for shallow copying: Object.assign({}, objectToCopy)
  • Property descriptors and their usage
  • Property getters and setters
  • Object methods and operators that search through the entire prototype chain of a given object: in, instanceof, isPrototypeOf(..)
  • Object methods that search for properties only within the object itself and not through its prototype chain: propertyIsEnumerable(..), getOwnPropertyNames(..), Object.keys(..)
  • Property assignment procedure in JS
  • Function’s prototype and prototype.constructor properties
  • The contrast between OOP and OLOO (Objects-Linked-to-Other-Objects) programming, and why JS works best with the latter
  • ES6 concise methods
  • class as a syntactic sugar, introduced in ES6

Overall, this series on JS is a great resource for those who want to figure out the subtleties of the language and thus become better at programming in JavaScript and maybe even programming in general! The only drawback may be that it doesn’t seem to be geared towards absolute beginners, but probably that was not the intention in the first place.

Show your support

Clapping shows how much you appreciated Tariel Laelius’s story.