SlideShare a Scribd company logo
INTRO TO
ES6/2015
MEAN STACK NYC | INTRO TO ES6/2015
Jamal O’Garro
Software Engineer + Instructor
WHAT’S BEING COVERED TODAY
• Let and Const
• Block Scoping
• Template Strings
• Iterators
• Fat Arrow Syntax
• Class Syntax
• Promises
• Generators
MEAN STACK NYC | INTRO TO ES6/2015
BRIEF HISTORY OF JAVASCRIPT
• Created by Netscape as a
browser scripting language
• Node.js allows JS to be run
on the server
• ES6 standard is announced
MEAN STACK NYC | INTRO TO ES6/2015
WHAT IS ECMASCRIPT?
• Specification that JavaScript is developed against
MEAN STACK NYC | INTRO TO ES6/2015
WHAT IS ES6?
• Most recent version of the ECMAScript specification
• Introduces powerful new features and new syntax
• Is available for use now in most modern browsers
MEAN STACK NYC | INTRO TO ES6/2015
WHY USE ES6?
• Allows us to write “safer” JavaScript
• Get to use a “nicer” syntax
• It’s the future and the future is now!
MEAN STACK NYC | INTRO TO ES6/2015
NEW LANGUAGE FEATURES
MEAN STACK NYC | INTRO TO ES6/2015
LET + CONST
MEAN STACK NYC | INTRO TO ES6/2015
LET + CONST RECAP
• “let” and “const” allow us to have block scoping
• “const” allows us to create immutable data
• We also have the ability to create blocks on-the-fly
MEAN STACK NYC | INTRO TO ES6/2015
TEMPLATE STRINGS
MEAN STACK NYC | INTRO TO ES6/2015
TEMPLATE STRINGS RECAP
• Allow us to perform string interpolation in JavaScript
• Prevents us from having to concat strings
• Get a performance boost over string concatenation
MEAN STACK NYC | INTRO TO ES6/2015
FAT ARROW FUNCTIONS
MEAN STACK NYC | INTRO TO ES6/2015
FAT ARROW RECAP
• Provide a new syntax to represent lambda functions
• Give us a lexical “this” in functions that aren’t direct
properties of objects
MEAN STACK NYC | INTRO TO ES6/2015
NEW OBJECT SYNTAX
MEAN STACK NYC | INTRO TO ES6/2015
NEW OBJECT SYNTAX RECAP
• Syntactic sugar for creating properties of objects
MEAN STACK NYC | INTRO TO ES6/2015
CLASSES
MEAN STACK NYC | INTRO TO ES6/2015
CLASSES RECAP
• Syntax “sugar” for constructor functions
• Easy inheritance
• Super keyword
• Clean way to create static methods
MEAN STACK NYC | INTRO TO ES6/2015
NEW DATA TYPES
MEAN STACK NYC | INTRO TO ES6/2015
ITERATORS
MEAN STACK NYC | INTRO TO ES6/2015
ITERATOR VS. ITERABLE
• Iterator - allows us to produce a sequence of values
(Generators, etc.)
• Iterable - Means an object can be iterated (String, Array,
Map, Set, etc.)
MEAN STACK NYC | INTRO TO ES6/2015
PROMISES
MEAN STACK NYC | INTRO TO ES6/2015
PROMISE RECAP
• Allow us to work with Promises natively in the language
MEAN STACK NYC | INTRO TO ES6/2015
GENERATORS
MEAN STACK NYC | INTRO TO ES6/2015
WHY ARE GENERATORS USEFUL?
• Allow us to pause a function
• Control of the function’s execution externally
• Can pass data to the paused execution
• Can be used for asynchronous coding that “looks”
synchronous
MEAN STACK NYC | INTRO TO ES6/2015
SUMMARY
MEAN STACK NYC | INTRO TO ES6/2015
WHAT DID WE NOT COVER TODAY?
• Symbols
• Maps
• Weak Maps
• Sets
• Weak Sets
• Some features that are not ready (at least not in V8 and Node)
MEAN STACK NYC | INTRO TO ES6/2015
WHAT’S CURRENTLY NOT AVAILABLE?
• Destructured assignment
• Parameter Default Values
• Rest
• Spread
• Modules
• Proxies
• Typed Array
MEAN STACK NYC | INTRO TO ES6/2015
HOW TO USE WHAT’S NOT READY?
• Polyfills
• Transpilers
• Babel.js
• Tracuer
• TypeScript
MEAN STACK NYC | INTRO TO ES6/2015
THANK YOU!!!
Jamal O’Garro
Software Engineer + Instructor
MEAN STACK NYC | INTRO TO ES6/2015

More Related Content

What's hot (18)

PDF
Containers across Clouds - Docker Randstad, April 17th, 2015
Fintan Ryan
 
PDF
Geek Time Novembre 2016 : Cucumber
OLBATI
 
PDF
Meetup Angular.JS #12 Paris
Sylvain Utard
 
PPTX
Glance at Visual Studio 2013 ASP.NET and Web tools 2013
Shravan Kumar Kasagoni
 
PDF
A 5 Minute Intro To Weave - Software Circus July 2015
Weaveworks
 
PDF
Deploying Ruby/Sinatra at Rent the Runway - Next Dev StackUp,May 6, 2014
Timothy Ricablanca
 
PPTX
Icinga Camp Antwerp - Icinga2 Configuration
Icinga
 
ODP
OpenStack Swift: Panoramic View
Atul Jha
 
PPTX
AngularJs - From Heedless Meddler to Superheroic Assistant
Miloš Bošković
 
PDF
Icinga Director
Icinga
 
PDF
Algolia - Hosted Search API
enterprisesearchmeetup
 
PDF
Reactive Xamarin. UA Mobile 2016.
UA Mobile
 
PDF
Owasp top 10 serverless
隆博 田中
 
PPTX
Jimmie Lindstrom, Braintree_ePayment Workshop @ Open Commerce Conference 2016
Spark Solutions
 
PDF
Review of Igalia's Contribution to WebKit (2018 WebKit Contributors Meeting)
Igalia
 
PDF
Icinga Camp San Diego 2016 - Enter the Metrics
Icinga
 
PDF
Saluki - do it like a user
Icinga
 
PDF
Icinga Web 2 at Icinga Camp San Francisco
Icinga
 
Containers across Clouds - Docker Randstad, April 17th, 2015
Fintan Ryan
 
Geek Time Novembre 2016 : Cucumber
OLBATI
 
Meetup Angular.JS #12 Paris
Sylvain Utard
 
Glance at Visual Studio 2013 ASP.NET and Web tools 2013
Shravan Kumar Kasagoni
 
A 5 Minute Intro To Weave - Software Circus July 2015
Weaveworks
 
Deploying Ruby/Sinatra at Rent the Runway - Next Dev StackUp,May 6, 2014
Timothy Ricablanca
 
Icinga Camp Antwerp - Icinga2 Configuration
Icinga
 
OpenStack Swift: Panoramic View
Atul Jha
 
AngularJs - From Heedless Meddler to Superheroic Assistant
Miloš Bošković
 
Icinga Director
Icinga
 
Algolia - Hosted Search API
enterprisesearchmeetup
 
Reactive Xamarin. UA Mobile 2016.
UA Mobile
 
Owasp top 10 serverless
隆博 田中
 
Jimmie Lindstrom, Braintree_ePayment Workshop @ Open Commerce Conference 2016
Spark Solutions
 
Review of Igalia's Contribution to WebKit (2018 WebKit Contributors Meeting)
Igalia
 
Icinga Camp San Diego 2016 - Enter the Metrics
Icinga
 
Saluki - do it like a user
Icinga
 
Icinga Web 2 at Icinga Camp San Francisco
Icinga
 

Viewers also liked (17)

PDF
Intro to Node.js
Jamal Sinclair O'Garro
 
DOCX
Trabajo final competencias
Yinethreyes
 
PPTX
Introduction to Node.js
AMD Developer Central
 
PDF
Toolkit of modern web development (DevFest Košice 7.5.2016)
jskvara
 
PDF
교보문고 전자책 모바일 이용방법
yonseilibrary
 
PPT
Key lets read south africa eating a rainbow
Mar Caston Palacio
 
PPT
Key lets read south africa culture quiz
Mar Caston Palacio
 
PPTX
Propiedades de las cargas electricas
innovalabcun
 
PPTX
Reversible cerebral vasoconstriction syndrome
Prisma Health Upstate
 
PDF
Προσαρμοσμένο διαγώνισμα στις παραγράφους 2.6 2.10
Μάκης Χατζόπουλος
 
PDF
Node Foundation Membership Overview 20160907
NodejsFoundation
 
PDF
Aufschieberitis-Tag
Meike Kranz
 
PDF
Nouveautés du CDI du mois de Mars
cdifromentin
 
DOC
Matriz 2 fase 1 yineth_reyes_gc177
Yinethreyes
 
PPTX
GST Company Profile
Gothong
 
PPT
Стой Внимание Иди
Anastasia Simonova
 
PDF
Störungen vermeiden
Meike Kranz
 
Intro to Node.js
Jamal Sinclair O'Garro
 
Trabajo final competencias
Yinethreyes
 
Introduction to Node.js
AMD Developer Central
 
Toolkit of modern web development (DevFest Košice 7.5.2016)
jskvara
 
교보문고 전자책 모바일 이용방법
yonseilibrary
 
Key lets read south africa eating a rainbow
Mar Caston Palacio
 
Key lets read south africa culture quiz
Mar Caston Palacio
 
Propiedades de las cargas electricas
innovalabcun
 
Reversible cerebral vasoconstriction syndrome
Prisma Health Upstate
 
Προσαρμοσμένο διαγώνισμα στις παραγράφους 2.6 2.10
Μάκης Χατζόπουλος
 
Node Foundation Membership Overview 20160907
NodejsFoundation
 
Aufschieberitis-Tag
Meike Kranz
 
Nouveautés du CDI du mois de Mars
cdifromentin
 
Matriz 2 fase 1 yineth_reyes_gc177
Yinethreyes
 
GST Company Profile
Gothong
 
Стой Внимание Иди
Anastasia Simonova
 
Störungen vermeiden
Meike Kranz
 
Ad

Similar to Intro to ES6 / ES2015 (20)

PPTX
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
PPTX
ES6 - JavaCro 2016
Nenad Pecanac
 
PDF
JavaScript in 2016
Codemotion
 
PPTX
JavaScript in 2016 (Codemotion Rome)
Eduard Tomàs
 
PPTX
An overview of java script in 2015 (ecma script 6)
LearningTech
 
PPTX
ECMAScript 2015: my favourite parts
André Duarte
 
PDF
JavaScript ES6
Leo Hernandez
 
PDF
ES2015 / ES6: Basics of modern Javascript
Wojciech Dzikowski
 
PDF
You Don t Know JS ES6 Beyond Kyle Simpson
gedayelife
 
PDF
What's New in ES6 for Web Devs
Rami Sayar
 
PDF
Fitc whats new in es6 for web devs
FITC
 
PDF
ES6: The future is now
Sebastiano Armeli
 
PPTX
Introduction to Ecmascript - ES6
Nilesh Jayanandana
 
PPTX
JS awesomeness or how will ES6 help me build better apps ?
Пламен Стоев
 
PPTX
SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra
Sencha
 
PPTX
Introduction to es6
NexThoughts Technologies
 
PPTX
Getting started with ES6
Nitay Neeman
 
PDF
Making ES6 available to all with ChakraCore
Christian Heilmann
 
PPTX
ES6 and BEYOND
Brian Patterson
 
PPTX
ECMAScript 2015
Sebastian Pederiva
 
Javantura v3 - ES6 – Future Is Now – Nenad Pečanac
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
ES6 - JavaCro 2016
Nenad Pecanac
 
JavaScript in 2016
Codemotion
 
JavaScript in 2016 (Codemotion Rome)
Eduard Tomàs
 
An overview of java script in 2015 (ecma script 6)
LearningTech
 
ECMAScript 2015: my favourite parts
André Duarte
 
JavaScript ES6
Leo Hernandez
 
ES2015 / ES6: Basics of modern Javascript
Wojciech Dzikowski
 
You Don t Know JS ES6 Beyond Kyle Simpson
gedayelife
 
What's New in ES6 for Web Devs
Rami Sayar
 
Fitc whats new in es6 for web devs
FITC
 
ES6: The future is now
Sebastiano Armeli
 
Introduction to Ecmascript - ES6
Nilesh Jayanandana
 
JS awesomeness or how will ES6 help me build better apps ?
Пламен Стоев
 
SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra
Sencha
 
Introduction to es6
NexThoughts Technologies
 
Getting started with ES6
Nitay Neeman
 
Making ES6 available to all with ChakraCore
Christian Heilmann
 
ES6 and BEYOND
Brian Patterson
 
ECMAScript 2015
Sebastian Pederiva
 
Ad

More from Jamal Sinclair O'Garro (14)

PDF
A Look at TensorFlow.js
Jamal Sinclair O'Garro
 
PDF
Intro to React
Jamal Sinclair O'Garro
 
PDF
React + Redux for Web Developers
Jamal Sinclair O'Garro
 
PDF
Intro to ionic 2
Jamal Sinclair O'Garro
 
PDF
The Ten Code Commandments
Jamal Sinclair O'Garro
 
PDF
Using TypeScript with Angular
Jamal Sinclair O'Garro
 
PDF
Intro to UI-Router/TypeScript
Jamal Sinclair O'Garro
 
PDF
Intro to iOS Development
Jamal Sinclair O'Garro
 
PDF
Introduction to AngularJS
Jamal Sinclair O'Garro
 
PDF
Intro to rails 2_kg_edited
Jamal Sinclair O'Garro
 
PDF
Intro to Ruby on Rails
Jamal Sinclair O'Garro
 
PDF
Intro to javascript (4 week)
Jamal Sinclair O'Garro
 
PDF
Intro to HTML + CSS
Jamal Sinclair O'Garro
 
PDF
Intro to Programming
Jamal Sinclair O'Garro
 
A Look at TensorFlow.js
Jamal Sinclair O'Garro
 
Intro to React
Jamal Sinclair O'Garro
 
React + Redux for Web Developers
Jamal Sinclair O'Garro
 
Intro to ionic 2
Jamal Sinclair O'Garro
 
The Ten Code Commandments
Jamal Sinclair O'Garro
 
Using TypeScript with Angular
Jamal Sinclair O'Garro
 
Intro to UI-Router/TypeScript
Jamal Sinclair O'Garro
 
Intro to iOS Development
Jamal Sinclair O'Garro
 
Introduction to AngularJS
Jamal Sinclair O'Garro
 
Intro to rails 2_kg_edited
Jamal Sinclair O'Garro
 
Intro to Ruby on Rails
Jamal Sinclair O'Garro
 
Intro to javascript (4 week)
Jamal Sinclair O'Garro
 
Intro to HTML + CSS
Jamal Sinclair O'Garro
 
Intro to Programming
Jamal Sinclair O'Garro
 

Recently uploaded (20)

PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
Ortus Solutions, Corp
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 

Intro to ES6 / ES2015

  • 1. INTRO TO ES6/2015 MEAN STACK NYC | INTRO TO ES6/2015 Jamal O’Garro Software Engineer + Instructor
  • 2. WHAT’S BEING COVERED TODAY • Let and Const • Block Scoping • Template Strings • Iterators • Fat Arrow Syntax • Class Syntax • Promises • Generators MEAN STACK NYC | INTRO TO ES6/2015
  • 3. BRIEF HISTORY OF JAVASCRIPT • Created by Netscape as a browser scripting language • Node.js allows JS to be run on the server • ES6 standard is announced MEAN STACK NYC | INTRO TO ES6/2015
  • 4. WHAT IS ECMASCRIPT? • Specification that JavaScript is developed against MEAN STACK NYC | INTRO TO ES6/2015
  • 5. WHAT IS ES6? • Most recent version of the ECMAScript specification • Introduces powerful new features and new syntax • Is available for use now in most modern browsers MEAN STACK NYC | INTRO TO ES6/2015
  • 6. WHY USE ES6? • Allows us to write “safer” JavaScript • Get to use a “nicer” syntax • It’s the future and the future is now! MEAN STACK NYC | INTRO TO ES6/2015
  • 7. NEW LANGUAGE FEATURES MEAN STACK NYC | INTRO TO ES6/2015
  • 8. LET + CONST MEAN STACK NYC | INTRO TO ES6/2015
  • 9. LET + CONST RECAP • “let” and “const” allow us to have block scoping • “const” allows us to create immutable data • We also have the ability to create blocks on-the-fly MEAN STACK NYC | INTRO TO ES6/2015
  • 10. TEMPLATE STRINGS MEAN STACK NYC | INTRO TO ES6/2015
  • 11. TEMPLATE STRINGS RECAP • Allow us to perform string interpolation in JavaScript • Prevents us from having to concat strings • Get a performance boost over string concatenation MEAN STACK NYC | INTRO TO ES6/2015
  • 12. FAT ARROW FUNCTIONS MEAN STACK NYC | INTRO TO ES6/2015
  • 13. FAT ARROW RECAP • Provide a new syntax to represent lambda functions • Give us a lexical “this” in functions that aren’t direct properties of objects MEAN STACK NYC | INTRO TO ES6/2015
  • 14. NEW OBJECT SYNTAX MEAN STACK NYC | INTRO TO ES6/2015
  • 15. NEW OBJECT SYNTAX RECAP • Syntactic sugar for creating properties of objects MEAN STACK NYC | INTRO TO ES6/2015
  • 16. CLASSES MEAN STACK NYC | INTRO TO ES6/2015
  • 17. CLASSES RECAP • Syntax “sugar” for constructor functions • Easy inheritance • Super keyword • Clean way to create static methods MEAN STACK NYC | INTRO TO ES6/2015
  • 18. NEW DATA TYPES MEAN STACK NYC | INTRO TO ES6/2015
  • 19. ITERATORS MEAN STACK NYC | INTRO TO ES6/2015
  • 20. ITERATOR VS. ITERABLE • Iterator - allows us to produce a sequence of values (Generators, etc.) • Iterable - Means an object can be iterated (String, Array, Map, Set, etc.) MEAN STACK NYC | INTRO TO ES6/2015
  • 21. PROMISES MEAN STACK NYC | INTRO TO ES6/2015
  • 22. PROMISE RECAP • Allow us to work with Promises natively in the language MEAN STACK NYC | INTRO TO ES6/2015
  • 23. GENERATORS MEAN STACK NYC | INTRO TO ES6/2015
  • 24. WHY ARE GENERATORS USEFUL? • Allow us to pause a function • Control of the function’s execution externally • Can pass data to the paused execution • Can be used for asynchronous coding that “looks” synchronous MEAN STACK NYC | INTRO TO ES6/2015
  • 25. SUMMARY MEAN STACK NYC | INTRO TO ES6/2015
  • 26. WHAT DID WE NOT COVER TODAY? • Symbols • Maps • Weak Maps • Sets • Weak Sets • Some features that are not ready (at least not in V8 and Node) MEAN STACK NYC | INTRO TO ES6/2015
  • 27. WHAT’S CURRENTLY NOT AVAILABLE? • Destructured assignment • Parameter Default Values • Rest • Spread • Modules • Proxies • Typed Array MEAN STACK NYC | INTRO TO ES6/2015
  • 28. HOW TO USE WHAT’S NOT READY? • Polyfills • Transpilers • Babel.js • Tracuer • TypeScript MEAN STACK NYC | INTRO TO ES6/2015
  • 29. THANK YOU!!! Jamal O’Garro Software Engineer + Instructor MEAN STACK NYC | INTRO TO ES6/2015