SlideShare uma empresa Scribd logo
1 de 66
Baixar para ler offline
Get Ready For
The Future. Now
ECMAScript 6
@szafranek
July 2008
ES4
Dec 1999
ES3
Dec 2013Dec 2009
ES5 ES6
ES6 aka Harmony
Backwards
compatibility
No “bad parts”
are removed
“Better carrots”
Superset of ES 5
strict mode
Block scope
5
hoisting
var i = 1;
function b() {
i = 10;
for (var i = 0; i < 3; i++) {
//...
}
}
b();
console.log(i);
1
hoisting
var i = 1;
function b() {
i = 10;
for (var i = 0; i < 3; i++) {
//...
}
}
b();
console.log(i); // 1
1
let
letlet
letlet
•Block scope
letlet
•Block scope
•No hoisting
letlet
•Block scope
•No hoisting
•Fails fast
letlet
•Block scope
•No hoisting
•Fails fast
= better var
var i = 1;
function b() {
i = 10;
for (let i = 0; i < 3; i++) {
//...
}
}
b();
console.log(i); // 10
var things = {};
for (var i = 0; i < 3; i++) {
things["fun" + i] = function() {
console.log(i);
};
}
things["fun0"](); // 3
things["fun1"](); // 3
things["fun2"](); // 3
var things = {};
for (var i = 0; i < 3; i++) {
things["fun" + i] = (function(index) {
return function() {
console.log(index);
};
}(i));
}
things["fun0"](); // 0
things["fun1"](); // 1
things["fun2"](); // 2
var things = {};
for (var i = 0; i < 3; i++) {
let index = i;
things["fun" + i] = function() {
console.log(index);
};
}
things["fun0"](); // 0
things["fun1"](); // 1
things["fun2"](); // 2
constconst
const pi = Math.PI;
// ...
pi = 10; // SyntaxError
const
function process() {
const factor = 10;
let result = 5;
result *= 3;
// thousands lines of code...
return result * factor;
}
Most variables don't change over time.
Using const helps spot unwanted side effects.
constconst = better let
function process() {
const factor = 10;
let result = 5;
result *= 3;
// thousands lines of code...
return result * factor;
}
Most variables don't change over time.
Using const helps spot unwanted side effects.
“I am a full
const nazi
nowadays”
John Carmack: "I am a full const nazi nowadays, and I chide any programmer that doesn’t
const every variable and parameter that can be."
http://www.phoronix.com/scan.php?page=news_item&px=MTI3NDQ
Use let and const today
defs.js
http://blog.lassus.se/2013/05/defsjs.html
Destructing
10
let point = [3, 7];
let [x, y] = point;
console.log(x, y);
let primary = "red", secondary = "blue";
[secondary, primary] = [primary, secondary];
console.log(primary, secondary); // blue red
let point = [3, 7, 5];
let [, y] = point;
console.log(y); // 7
Selecting only elements you want
let coords = {long: 11, lat: 45};
let {long, lat} = coords;
console.log(long, lat); // 11 45
Destructing objects
let coords = {long: 11, lat: 45};
let {long: longitude,
lat: latitude} = coords;
console.log(longitude, latitude); // 11 45
Mapping to custom names
Spread operator
let numbers = [3, 10, 7];
Math.max(...numbers); // 10
let nodeArray = [...document.querySelectorAll("p")];
var nodeList = document.querySelectorAll("p");
var nodeArray =[].slice.apply(nodeList);
ES6
ES5
Rest parameters
function tax(rate, ...values) {
//...
}
tax(0.03, 50, 78, 100); // [1.5, 2.34, 3]
15
function tax(rate, ...values) {
let taxedValues = [];
for (let value of values) {
taxedValues.push(rate * value);
}
return taxedValues;
}
function tax() {
var args = Array.prototype.slice.call(arguments);
var rate = args[0];
var values = args.splice(1);
var taxedValues = [];
for (var i = 0; i < values.length; i++) {
var value = values[i];
taxedValues.push(rate * value);
};
return taxedValues;
}
ES5
ES6
function tax(rate, ...values) {
let taxedValues = [];
for (let value of values) {
taxedValues.push(rate * value);
}
return taxedValues;
}
function tax() {
var args = Array.prototype.slice.call(arguments);
var rate = args[0];
var values = args.splice(1);
var taxedValues = [];
for (var i = 0; i < values.length; i++) {
var value = values[i];
taxedValues.push(rate * value);
};
return taxedValues;
}
ES5
ES6
Iterators
let elements = ["one", "two", "three"];
elements.customProperty = "Won't show up";
for (let element of elements) {
console.log(element);
}
// "one" "two" "three"
Object.prototype.dontDoIt = "bwahaha";
var obj = {name: "Chris", surname: "Szafranek"};
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
console.log(key, obj[key]);
}
}
Object.prototype.dontDoIt = "bwahaha";
var obj = {name: "Chris", surname: "Szafranek"};
import items from @"iter";
for (let [key, value] of items(obj) {
console.log(key, value);
}
ES6
ES5
built-in iterators
keys(obj);
values(obj);
items(obj);
allKeys(obj);
allValues(obj);
allItems(obj);
Object.prototype.dontDoIt = "bwahaha";
var obj = {name: "Chris", surname: "Szafranek"};
import items from @"iter";
for (let [key, value] of items(obj) {
console.log(key, value);
}
Modules
in progress!
18
module Map {
export function zoom(coords) {
console.log("zooming to ", coords);
};
export function pan(coords) {
console.log("panning to ", coords);
};
export var defaultMode = "satellite";
};
import {zoom, defaultMode} from Map;
zoom({lat: 30, long: 10});
module loaders
Loader.load('map.js', function (map) {
map.zoom({lat: 30, long: 10});
}, errorCallback);
loader pipeline
Loader.normalize();
Loader.resolve();
Loader.fetch();
Loader.translate();
Loader.link();
Default pipeline can be customized.
In translation phase CoffeeScript can be translated to JS.
In link phase AMD or node modules can be imported: such modules can be interoperable with
ES6 modules.
https://gist.github.com/wycats/51c96e3adcdb3a68cbc3
loader pipeline
Loader.normalize();
Loader.resolve();
Loader.fetch();
Loader.translate();
Loader.link();
// CoffeeScript!
Default pipeline can be customized.
In translation phase CoffeeScript can be translated to JS.
In link phase AMD or node modules can be imported: such modules can be interoperable with
ES6 modules.
https://gist.github.com/wycats/51c96e3adcdb3a68cbc3
loader pipeline
Loader.normalize();
Loader.resolve();
Loader.fetch();
Loader.translate();
Loader.link();
// CoffeeScript!
// AMD, Common.js!
Default pipeline can be customized.
In translation phase CoffeeScript can be translated to JS.
In link phase AMD or node modules can be imported: such modules can be interoperable with
ES6 modules.
https://gist.github.com/wycats/51c96e3adcdb3a68cbc3
function tax(rate, ...values) {
let taxedValues = [];
for (let value of values) {
taxedValues.push(rate * value);
}
return taxedValues;
}
Arrow functions
function tax(rate, ...values) {
return values.map(value => rate * value);
}
lexical this
function Greeter() {
this.name = "jsDay";
this.hello = function() {
console.log("Hello " + this.name);
}
}
var greet = new Greeter();
setTimeout(greet.hello.bind(greet), 1000);
ES5
function Greeter() {
this.name = "jsDay";
this.hello = function() {
console.log("Hello " + this.name);
}
}
var greet = new Greeter();
setTimeout(greet.hello.bind(greet), 1000);
ES5
function Greeter() {
this.name = "jsDay";
this.hello = () => console.log("Hello " + this.name)
}
var greet = new Greeter();
setTimeout(greet.hello, 1000);
ES6
Last but not least...
20
Classes
function Vehicle(name) {
this.name = name;
}
Vehicle.prototype.drive = function () {
return "Wrooom";
};
// Inheritance
function Car(name, maxSpeed) {
Vehicle.call(this, name);
this.maxSpeed = maxSpeed;
}
Car.prototype = Object.create(Vehicle.prototype);
Car.prototype.constructor = Car;
Car.prototype.drive = function () {
return Vehicle.prototype.drive.call(this) + " at " +
this.maxSpeed;
};
class Vehicle {
constructor(name) {
this.name = name;
}
drive() {
return "Wrooom";
}
}
// Inheritance
class Car extends Vehicle {
constructor(name, maxSpeed) {
super.constructor(name);
this.maxSpeed = maxSpeed;
}
drive() {
return super.drive() + " at " + this.maxSpeed;
}
}
Classes
Destructing
Block scope
Modules
Iterators
Spread operator
Rest parameters
Arrow functions
Maps
Promises WeakMaps
SetsUnicodeProxies
Binary data
Tail callsGenerators
Template strings
API improvements
Comprehensions
ES6 today
Firefox Nightly*
Some features are not implemented as in the recent version of the spec, e.g. let.
Chrome Canary
about:flags
node --harmony
Thank you!
@szafranek
www.2ality.com
www.brendaneich.com
kangax.github.io/es5-compat-table/es6
Photo credits
QuakeCon
cloud2013
Monty Python
iluvgadgets
1

Mais conteúdo relacionado

Mais procurados

The algebra of library design
The algebra of library designThe algebra of library design
The algebra of library designLeonardo Borges
 
Introduction to Ecmascript - ES6
Introduction to Ecmascript - ES6Introduction to Ecmascript - ES6
Introduction to Ecmascript - ES6Nilesh Jayanandana
 
JavaScript - new features in ECMAScript 6
JavaScript - new features in ECMAScript 6JavaScript - new features in ECMAScript 6
JavaScript - new features in ECMAScript 6Solution4Future
 
Metaprogramming and Reflection in Common Lisp
Metaprogramming and Reflection in Common LispMetaprogramming and Reflection in Common Lisp
Metaprogramming and Reflection in Common LispDamien Cassou
 
ECMAScript 6: A Better JavaScript for the Ambient Computing Era
ECMAScript 6: A Better JavaScript for the Ambient Computing EraECMAScript 6: A Better JavaScript for the Ambient Computing Era
ECMAScript 6: A Better JavaScript for the Ambient Computing EraAllen Wirfs-Brock
 
Think Async: Asynchronous Patterns in NodeJS
Think Async: Asynchronous Patterns in NodeJSThink Async: Asynchronous Patterns in NodeJS
Think Async: Asynchronous Patterns in NodeJSAdam L Barrett
 
What's New in ES6 for Web Devs
What's New in ES6 for Web DevsWhat's New in ES6 for Web Devs
What's New in ES6 for Web DevsRami Sayar
 
Functional Reactive Programming with RxJS
Functional Reactive Programming with RxJSFunctional Reactive Programming with RxJS
Functional Reactive Programming with RxJSstefanmayer13
 
The Promised Land (in Angular)
The Promised Land (in Angular)The Promised Land (in Angular)
The Promised Land (in Angular)Domenic Denicola
 
One definition rule - что это такое, и как с этим жить
One definition rule - что это такое, и как с этим житьOne definition rule - что это такое, и как с этим жить
One definition rule - что это такое, и как с этим житьPlatonov Sergey
 
Functional Reactive Programming in Clojurescript
Functional Reactive Programming in ClojurescriptFunctional Reactive Programming in Clojurescript
Functional Reactive Programming in ClojurescriptLeonardo Borges
 
Riga Dev Day 2016 - Having fun with Javassist
Riga Dev Day 2016 - Having fun with JavassistRiga Dev Day 2016 - Having fun with Javassist
Riga Dev Day 2016 - Having fun with JavassistAnton Arhipov
 
Javascript ES6 generators
Javascript ES6 generatorsJavascript ES6 generators
Javascript ES6 generatorsRamesh Nair
 
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014Fantix King 王川
 

Mais procurados (20)

The algebra of library design
The algebra of library designThe algebra of library design
The algebra of library design
 
Introduction to Ecmascript - ES6
Introduction to Ecmascript - ES6Introduction to Ecmascript - ES6
Introduction to Ecmascript - ES6
 
ECMAScript 6
ECMAScript 6ECMAScript 6
ECMAScript 6
 
ES6: The Awesome Parts
ES6: The Awesome PartsES6: The Awesome Parts
ES6: The Awesome Parts
 
JavaScript - new features in ECMAScript 6
JavaScript - new features in ECMAScript 6JavaScript - new features in ECMAScript 6
JavaScript - new features in ECMAScript 6
 
Metaprogramming and Reflection in Common Lisp
Metaprogramming and Reflection in Common LispMetaprogramming and Reflection in Common Lisp
Metaprogramming and Reflection in Common Lisp
 
Python Async IO Horizon
Python Async IO HorizonPython Async IO Horizon
Python Async IO Horizon
 
ECMAScript 6: A Better JavaScript for the Ambient Computing Era
ECMAScript 6: A Better JavaScript for the Ambient Computing EraECMAScript 6: A Better JavaScript for the Ambient Computing Era
ECMAScript 6: A Better JavaScript for the Ambient Computing Era
 
Es6 hackathon
Es6 hackathonEs6 hackathon
Es6 hackathon
 
ES6 in Real Life
ES6 in Real LifeES6 in Real Life
ES6 in Real Life
 
Think Async: Asynchronous Patterns in NodeJS
Think Async: Asynchronous Patterns in NodeJSThink Async: Asynchronous Patterns in NodeJS
Think Async: Asynchronous Patterns in NodeJS
 
What's New in ES6 for Web Devs
What's New in ES6 for Web DevsWhat's New in ES6 for Web Devs
What's New in ES6 for Web Devs
 
Functional Reactive Programming with RxJS
Functional Reactive Programming with RxJSFunctional Reactive Programming with RxJS
Functional Reactive Programming with RxJS
 
The Promised Land (in Angular)
The Promised Land (in Angular)The Promised Land (in Angular)
The Promised Land (in Angular)
 
One definition rule - что это такое, и как с этим жить
One definition rule - что это такое, и как с этим житьOne definition rule - что это такое, и как с этим жить
One definition rule - что это такое, и как с этим жить
 
Functional Reactive Programming in Clojurescript
Functional Reactive Programming in ClojurescriptFunctional Reactive Programming in Clojurescript
Functional Reactive Programming in Clojurescript
 
Riga Dev Day 2016 - Having fun with Javassist
Riga Dev Day 2016 - Having fun with JavassistRiga Dev Day 2016 - Having fun with Javassist
Riga Dev Day 2016 - Having fun with Javassist
 
Javascript ES6 generators
Javascript ES6 generatorsJavascript ES6 generators
Javascript ES6 generators
 
JavaScript ES6
JavaScript ES6JavaScript ES6
JavaScript ES6
 
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014
 

Semelhante a ESCMAScript 6: Get Ready For The Future. Now

JavaScript - Agora nervoso
JavaScript - Agora nervosoJavaScript - Agora nervoso
JavaScript - Agora nervosoLuis Vendrame
 
ES6 Simplified
ES6 SimplifiedES6 Simplified
ES6 SimplifiedCarlos Ble
 
Getting started with ES6 : Future of javascript
Getting started with ES6 : Future of javascriptGetting started with ES6 : Future of javascript
Getting started with ES6 : Future of javascriptMohd Saeed
 
React Native Evening
React Native EveningReact Native Evening
React Native EveningTroy Miles
 
The State of JavaScript (2015)
The State of JavaScript (2015)The State of JavaScript (2015)
The State of JavaScript (2015)Domenic Denicola
 
A la découverte de TypeScript
A la découverte de TypeScriptA la découverte de TypeScript
A la découverte de TypeScriptDenis Voituron
 
Game Design and Development Workshop Day 1
Game Design and Development Workshop Day 1Game Design and Development Workshop Day 1
Game Design and Development Workshop Day 1Troy Miles
 
Intro to Javascript
Intro to JavascriptIntro to Javascript
Intro to JavascriptAnjan Banda
 
Zabbix LLD from a C Module by Jan-Piet Mens
Zabbix LLD from a C Module by Jan-Piet MensZabbix LLD from a C Module by Jan-Piet Mens
Zabbix LLD from a C Module by Jan-Piet MensNETWAYS
 
Node Boot Camp
Node Boot CampNode Boot Camp
Node Boot CampTroy Miles
 
JavaScript Growing Up
JavaScript Growing UpJavaScript Growing Up
JavaScript Growing UpDavid Padbury
 
EcmaScript unchained
EcmaScript unchainedEcmaScript unchained
EcmaScript unchainedEduard Tomàs
 
Impress Your Friends with EcmaScript 2015
Impress Your Friends with EcmaScript 2015Impress Your Friends with EcmaScript 2015
Impress Your Friends with EcmaScript 2015Lukas Ruebbelke
 

Semelhante a ESCMAScript 6: Get Ready For The Future. Now (20)

JavaScript - Agora nervoso
JavaScript - Agora nervosoJavaScript - Agora nervoso
JavaScript - Agora nervoso
 
Workshop 10: ECMAScript 6
Workshop 10: ECMAScript 6Workshop 10: ECMAScript 6
Workshop 10: ECMAScript 6
 
ES6 Simplified
ES6 SimplifiedES6 Simplified
ES6 Simplified
 
jQuery introduction
jQuery introductionjQuery introduction
jQuery introduction
 
ES6: Features + Rails
ES6: Features + RailsES6: Features + Rails
ES6: Features + Rails
 
"let ECMAScript = 6"
"let ECMAScript = 6" "let ECMAScript = 6"
"let ECMAScript = 6"
 
Getting started with ES6 : Future of javascript
Getting started with ES6 : Future of javascriptGetting started with ES6 : Future of javascript
Getting started with ES6 : Future of javascript
 
Internal workshop es6_2015
Internal workshop es6_2015Internal workshop es6_2015
Internal workshop es6_2015
 
React Native Evening
React Native EveningReact Native Evening
React Native Evening
 
ES6 Overview
ES6 OverviewES6 Overview
ES6 Overview
 
The State of JavaScript (2015)
The State of JavaScript (2015)The State of JavaScript (2015)
The State of JavaScript (2015)
 
ECMAScript 2015
ECMAScript 2015ECMAScript 2015
ECMAScript 2015
 
A la découverte de TypeScript
A la découverte de TypeScriptA la découverte de TypeScript
A la découverte de TypeScript
 
Game Design and Development Workshop Day 1
Game Design and Development Workshop Day 1Game Design and Development Workshop Day 1
Game Design and Development Workshop Day 1
 
Intro to Javascript
Intro to JavascriptIntro to Javascript
Intro to Javascript
 
Zabbix LLD from a C Module by Jan-Piet Mens
Zabbix LLD from a C Module by Jan-Piet MensZabbix LLD from a C Module by Jan-Piet Mens
Zabbix LLD from a C Module by Jan-Piet Mens
 
Node Boot Camp
Node Boot CampNode Boot Camp
Node Boot Camp
 
JavaScript Growing Up
JavaScript Growing UpJavaScript Growing Up
JavaScript Growing Up
 
EcmaScript unchained
EcmaScript unchainedEcmaScript unchained
EcmaScript unchained
 
Impress Your Friends with EcmaScript 2015
Impress Your Friends with EcmaScript 2015Impress Your Friends with EcmaScript 2015
Impress Your Friends with EcmaScript 2015
 

Mais de Krzysztof Szafranek

Mais de Krzysztof Szafranek (10)

Mobile Game Development
Mobile Game DevelopmentMobile Game Development
Mobile Game Development
 
Getting the Most out of Your Tools
Getting the Most out of Your ToolsGetting the Most out of Your Tools
Getting the Most out of Your Tools
 
What Lies Ahead for HTML5
What Lies Ahead for HTML5What Lies Ahead for HTML5
What Lies Ahead for HTML5
 
Confessions of the Traitor: How Objective C Made Me a Better JavaScript Progr...
Confessions of the Traitor: How Objective C Made Me a Better JavaScript Progr...Confessions of the Traitor: How Objective C Made Me a Better JavaScript Progr...
Confessions of the Traitor: How Objective C Made Me a Better JavaScript Progr...
 
JavaScript Refactoring
JavaScript RefactoringJavaScript Refactoring
JavaScript Refactoring
 
Practical Guide to Unit Testing
Practical Guide to Unit TestingPractical Guide to Unit Testing
Practical Guide to Unit Testing
 
Productive JavaScript Workflow
Productive JavaScript WorkflowProductive JavaScript Workflow
Productive JavaScript Workflow
 
Box2Dweb
Box2DwebBox2Dweb
Box2Dweb
 
Radiant CMS - smart simplicity
Radiant CMS - smart simplicityRadiant CMS - smart simplicity
Radiant CMS - smart simplicity
 
Ruby, Amazon Web Services and You
Ruby, Amazon Web Services and YouRuby, Amazon Web Services and You
Ruby, Amazon Web Services and You
 

Último

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 

Último (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 

ESCMAScript 6: Get Ready For The Future. Now