Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
La drôle d'histoire de JavaScript
Search
Matthias Le Brun
June 22, 2022
Technology
0
280
La drôle d'histoire de JavaScript
Retour sur les évènements, hasards et personnalités marquantes de l'étrange histoire de JavaScript.
Matthias Le Brun
June 22, 2022
Tweet
Share
More Decks by Matthias Le Brun
See All by Matthias Le Brun
Boxed: bringing algebraic types to TypeScript
bloodyowl
0
20
leveraging (algebraic data) types to make your UI rock @ jsheroes
bloodyowl
0
240
Leveraging (algebraic data) types to make your UI rock solid
bloodyowl
0
320
Healthy Code Collaboration
bloodyowl
0
190
Simplify your UI management with (algebraic data) types
bloodyowl
0
740
Simplify your UI management with (algebraic data) types
bloodyowl
1
460
Migrating a large Reason+React codebase to hooks
bloodyowl
0
480
Third Party Hell (BestOfWeb)
bloodyowl
0
460
Best practices
bloodyowl
0
350
Other Decks in Technology
See All in Technology
Eventual Detection Engineering
ken5scal
0
1.3k
スーパーマリオRPGのリメイク版の変更点からみるUX
nishiharatsubasa
1
320
Estrategias de escalabilidade para projetos web
jessilyneh
2
220
Oracle Database Backup Service:サービス概要のご紹介
oracle4engineer
PRO
0
4.1k
AWS SAW を広めたい @四国クラウドお遍路
kazzpapa3
0
220
Autonomous Database Cloud 技術詳細 / adb-s_technical_detail_jp
oracle4engineer
PRO
15
40k
Creative UIs with Compose: DroidKaigi 2024
chrishorner
1
190
難しいから面白い!医薬品×在庫管理ドメインの複雑性と向き合い、プロダクトの成長を支えるための取り組み / Initiatives to Support Product Growth
kakehashi
2
180
2024年版 運用者たちのLLM
nwiizo
3
520
Monitor GraalVM Native Apps with OpenTelemetry
logico_jp
0
120
なぜクラウドサービスで Web コンソールを提供するのか
shuta13
4
2k
強いチームを夢見て-PMからSREに転身して1年の振り返り / 20240906_bengo4_sre
bengo4com
2
830
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
21
3k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
45
4.8k
A Tale of Four Properties
chriscoyier
155
22k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.6k
What's new in Ruby 2.0
geeforr
340
31k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.4k
A Philosophy of Restraint
colly
202
16k
The Mythical Team-Month
searls
218
43k
Atom: Resistance is Futile
akmur
261
25k
Learning to Love Humans: Emotional Interface Design
aarron
270
40k
The Language of Interfaces
destraynor
153
23k
Side Projects
sachag
451
42k
Transcript
None
None
1996
None
1997
ES1
1998
ES2osef
1999
ES3
ES3 → try/catch → switch → literal syntax → regex
→ strict equality
2001 Douglas Crockford
Douglas Crockford JSMin
2002 coucou c'est encore moi
Douglas Crockford JSON
if (looksLikeValidJson(string)) { return eval(string) } vue d'artiste
2002 héhé personne m'a reconnu
Douglas Crockford JSLint
2005
None
xMLhtTpReQueSt
AJAX
web 2.0
None
None
None
scripts.js
function Meetup(name) { this.name = name; } Meetup.prototype.sayHello = function(participantName)
{ return "Hello from " + this.name + ", " + participantName + "!"; } var meetup = new Meetup("Paris.JS"); meetup.sayHello("Matthias"); // "Hello from Paris.JS, Matthias!"
function extend(myClass) { function F() {} F.prototype = myClass.prototype; return
new F(); } function ParisJS() { return Meetup.call(this, "Paris.JS") } ParisJS.prototype = extend(Meetup);
Array.prototype.each = function (func) { for(var i = 0; i
< this.length; i ++ ) { func(this[i]) } }
None
None
None
jQuery John Resig
None
QuirksMode Peter Paul Koch
$(document).ready(function () { $("button").on("click", function () { $(".modal").toggle(); }); });
None
2007 Steve Jobs
iPhone
ES4
2008
vroum vroum
ES5 « avec la retrocompat c'est mieux ^^ »
None
re
None
2009 Ryan Dahl
None
2010
None
2014
2015 ES6
class
promises
arrow functions
maps & sets
modules
let & const
None
version mineure
2016 ES2016
2017 ES2017
2018 ES2018
2019 ES2019
2020 ES2020
2021 ES2021
2022 ES2022
2023 JavaScript Pro Max???
JS
thank you Matthias Le Brun @bloodyowl → Co-lead front end
developer at swan.io → Paris.JS organizer → Putain de Code co-founder & host We're hiring!