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

Welcome to the new JavaScript

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

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

Avatar for Cheesecake Labs

Cheesecake Labs

April 20, 2017

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/