Skip to content

Latest commit

 

History

History
27 lines (21 loc) · 2.67 KB

01-state-of-javascript-2018.md

File metadata and controls

27 lines (21 loc) · 2.67 KB

The State of JavaScript

ES2015 and beyond

JavaScript is no longer the scripting language used to add some minimal interractivity to static websites. It's a rich syntax language with vast capabilities and a lot of new features that were standardized in 2015 and beyond. The TC-39 committee is working on the language standardization on an yearly basis, so each year we get new features into the standard language. Furthermore, current tooling (webpack, babel) allows us to work with proposals/experimental features and ensure that we have full browser support while using the latest syntax into our source code. In other words, the code that we write does not end up in the same form on the browser, but rather goes through a transpile/compile step which ensures the browser support we need.

References

Async JavaScript

The JS execution model is fundamental to understand how the language works. The main difference to other programming languages is the non-blocking / asynchrounous nature of the function calls. This is done via the powerful event loop mechanism which is explained in the talk below. Adding on top of the event loop, modern JS is finding ways of avoiding callback hells and callbacks in general with the Promise model/pattern and with the newer syntax of async/await.

References

Modules

Finally, JavaScript is no longer a single file program, nor does it require you to work with global variables to ensure communication between multiple files. Starting from the require.js syntax which is behind node's file system, ES2015 also brought us ESModules, a very powerful and flexible import/export sytax which allows us to work with external dependencies (npm modules) or with other files in our setup.

References