Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Welcome to the new JavaScript

Welcome to the new JavaScript

How the most important web language has evolved over the years.

Daniel Leite
https://github.com/dleitee
https://twitter.com/dleitee

Cheesecake Labs

April 20, 2017
Tweet

More Decks by Cheesecake Labs

Other Decks in Technology

Transcript

  1. History - Created in 10 days in May 1995 by

    Brendan Eich - Netscape - Mocha > LiveScript > JavaScript - In 1996 - 1997 JavaScript was taken to ECMA - Backend x UX
  2. Characteristics - Prototype Based - Dynamically Typed - Objects and

    Event based - Multi paradigm - Multi platform
  3. Browsers - Internet Explorer dominated the market for a long

    period of time - Mozilla Firefox was first released in 2004 - Firebug was first released in 2006 - Google Chrome was first released in 2008
  4. JQuery - Created in 2006, it was a watershed of

    JavaScript world - "It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler" - Responsible for many implementations of the current browsers
  5. How to evolve the JavaScript? - The biggest difficulty to

    evolve JavaScript is the support for legacy browsers - A single change in JavaScript could break multiple sites - Transpilers solve the compatibility problem - Transpilers are tools that read source code written in one programming language, and produce the equivalent code in another language
  6. ECMAScript 6 - ES6 is a significant update to the

    language - The first update to the language since ES5 was standardized in 2009 - Why not ES6? Why ES2015?
  7. New Built-in Methods - find() - String.prototype.repeat() - String.prototype.startsWith() -

    String.prototype.endsWith() - String.prototype.includes() - isNaN() - isFinite() - isSafeInteger() - Number.EPSILON - Math.trunc() - Math.sign()
  8. Other Changes - Map - Symbol Type - Iterators -

    For-Of operator - Generators - Proxy - Reflection - Internationalization & Localization
  9. ES2017 - Async/await functions - Shared memory and atomics -

    Object.values/Object.entries - String padding - Object.getOwnPropertyDescriptors() - Trailing commas in function parameter lists and calls
  10. ES2018 - Function.prototype.toString revision - Template Literal Revision - global

    - Rest/Spread Properties - Asynchronous Iteration - import() - RegExp Lookbehind Assertions - RegExp Unicode Property Escapes - RegExp named capture groups
  11. Links - http://2ality.com/ - Dr. Axel Rauschmayer - http://kangax.github.io/compat-table/es6/ -

    https://www.w3.org/community/webed/wiki/A_Short_History_of_Jav aScript - https://developer.mozilla.org/en-US/