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
360
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
(why the hell did I) build a GraphQL client for the browser
bloodyowl
0
110
Boxed: bringing algebraic types to TypeScript
bloodyowl
0
120
leveraging (algebraic data) types to make your UI rock @ jsheroes
bloodyowl
0
290
Leveraging (algebraic data) types to make your UI rock solid
bloodyowl
0
420
Healthy Code Collaboration
bloodyowl
0
290
Simplify your UI management with (algebraic data) types
bloodyowl
0
810
Simplify your UI management with (algebraic data) types
bloodyowl
1
530
Migrating a large Reason+React codebase to hooks
bloodyowl
0
560
Third Party Hell (BestOfWeb)
bloodyowl
0
650
Other Decks in Technology
See All in Technology
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
英語は話せません!それでも海外チームと信頼関係を作るため、対話を重ねた2ヶ月間のまなび
niioka_97
0
130
Optuna DashboardにおけるPLaMo2連携機能の紹介 / PFN LLM セミナー
pfn
PRO
2
930
SoccerNet GSRの紹介と技術応用:選手視点映像を提供するサッカー作戦盤ツール
mixi_engineers
PRO
1
190
Findy Team+のSOC2取得までの道のり
rvirus0817
0
500
LLM時代にデータエンジニアの役割はどう変わるか?
ikkimiyazaki
6
1.1k
セキュアな認可付きリモートMCPサーバーをAWSマネージドサービスでつくろう! / Let's build an OAuth protected remote MCP server based on AWS managed services
kaminashi
3
240
「Verify with Wallet API」を アプリに導入するために
hinakko
1
260
カンファレンスに託児サポートがあるということ / Having Childcare Support at Conferences
nobu09
1
460
from Sakichi Toyoda to Agile
kawaguti
PRO
1
100
KMP の Swift export
kokihirokawa
0
350
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
240
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Code Reviewing Like a Champion
maltzj
525
40k
Git: the NoSQL Database
bkeepers
PRO
431
66k
Visualization
eitanlees
148
16k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
How to Think Like a Performance Engineer
csswizardry
27
2k
Automating Front-end Workflow
addyosmani
1371
200k
How to Ace a Technical Interview
jacobian
280
24k
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!