The Complete JavaScript Handbook by Flavio Copes

Logo-1x
Syndicode
  • Date Published
  • Categories Blog
  • Reading Time 2-Minute Read

Learn all you need to know about JavaScript in the Complete JavaScript Handbook by Flavio Copes.

As you could have noticed, JavaScript is one of the most popular programming languages in the world and is now widely used also outside of the browser. And maybe there is still something you don’t know about it, so we want to help you. Learn all you need to know about JavaScript in the Complete JavaScript Handbook by Flavio Copes.

JavaScript is a programming language that is:

  • High Level: It provides abstractions that allow you to ignore the details of the machine where it’s running.
  • Dynamic: As opposed to static programming languages, a dynamic language executes at runtime many of the things that a static language does at compile time.
  • Dynamically Typed: A variable does not enforce a type.
  • Weakly Typed: As opposed to strong typing, weakly (or loosely) typed languages do not enforce the type of an object.
  • Interpreted: It’s commonly known as an interpreted language, which means that it does not need a compilation stage before a program can run.
  • Multi-Paradigm: The language does not enforce any particular programming paradigm.

You can write JavaScript using an object-oriented paradigm, using prototypes and the new (as of ES6) classes syntax. You can write JavaScript in a functional programming style, with its first-class functions, or even in an imperative style (C-like).

Any object in JavaScript has a set of properties, and each of these properties has a descriptor.

A descriptor is a set of attributes of a property, and it’s composed by a subset of the following:

  • Value: the value of the property.
  • Writable: true the property can be changed.
  • Get: a getter function for the property, called when the property is read.
  • Set: a setter function for the property, called when the property is set to a value.
  • Configurable: if false, the property cannot be removed nor any attribute can be changed, except its value.
  • Enumerable: true if the property is enumerable.

And there are many more things you need to read. Feel free to find them here. (You can get a PDF, ePub, or Mobi version of this JavaScript Handbook for easier reference).

Another very interesting material about JavaScript loading Priorities in Chrome explained by Addy Osmani.