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
350
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
68
Boxed: bringing algebraic types to TypeScript
bloodyowl
0
90
leveraging (algebraic data) types to make your UI rock @ jsheroes
bloodyowl
0
280
Leveraging (algebraic data) types to make your UI rock solid
bloodyowl
0
390
Healthy Code Collaboration
bloodyowl
0
260
Simplify your UI management with (algebraic data) types
bloodyowl
0
800
Simplify your UI management with (algebraic data) types
bloodyowl
1
510
Migrating a large Reason+React codebase to hooks
bloodyowl
0
540
Third Party Hell (BestOfWeb)
bloodyowl
0
590
Other Decks in Technology
See All in Technology
SaaS公式MCPサーバーをリリースして得た学び
kawamataryo
5
1.4k
生成AI時代における人間の情熱とプロダクト志向 / 20250517 Takuya Oikawa
shift_evolve
2
240
(なるべく)無料で始めるTerraformのインフラ構築体験
sakamossaaaan
1
100
Streamlit in Snowflakeで加速する不動産テック企業のデータ活用 @Snowflake WESTユーザー会
yuto16
1
150
Опыт использования Nessie в Азбуке Вкуса
emeremyanina1234
0
470
AWS LambdaをTypeScriptで動かして分かった、Node.jsのTypeScriptサポートの利点と課題
smt7174
1
130
AWS_MCP_Servers入門.pdf
naotoiso
0
200
Microsoft Fabric のライセンスについて
ryomaru0825
2
3.5k
ホワイトボックス& SONiC アーキテクチャ(全体像) - SONiC Workshop Japan 2025
ebiken
PRO
1
440
技術選定を突き詰める 懇親会LT
okaru
2
1.3k
エンジニアのための 法規制への取り組み方 #healthtechmeetup
77web
0
260
【Gen-AX】20250514開催_Findyオンラインイベント_技術選定を突き詰める
genax
0
130
Featured
See All Featured
A better future with KSS
kneath
239
17k
4 Signs Your Business is Dying
shpigford
183
22k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
32
5.8k
Rails Girls Zürich Keynote
gr2m
94
13k
Music & Morning Musume
bryan
47
6.5k
Automating Front-end Workflow
addyosmani
1370
200k
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Rebuilding a faster, lazier Slack
samanthasiow
81
9k
A Tale of Four Properties
chriscoyier
159
23k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Six Lessons from altMBA
skipperchong
28
3.8k
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!