1 JavaScript reloaded

This chapter covers

  • Evaluating the key aspects of day-to-day coding: objects, functions, code, and data
  • Comparing prototype- and delegation-based object models
  • Understanding the composability of functions and types
  • Achieving clear separation of concerns through modularity and metaprogramming
  • Using promises and streams programming to create unidirectional data pipelines
  • Introducing the sample blockchain application

Any application that can be written in JavaScript, will eventually be written in JavaScript.

—Jeff Atwood

It’s an amazing time to be a JavaScript developer. Today, JavaScript developers can write code that runs virtually anywhere from tablets, smartphones, desktops, bots, and cloud platforms to the Internet of Things, such as toasters, refrigerators, thermostats, and even spacesuits! Also, we can program all tiers of an application stack, from the client and server, all the way down to the database. The world is at our fingertips.

1.1 Evolving JavaScript

1.2 Objects

1.3 Functions

1.4 Code

1.5 Data

1.6 Sample application: Blockchain