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
240
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
leveraging (algebraic data) types to make your UI rock @ jsheroes
bloodyowl
0
220
Leveraging (algebraic data) types to make your UI rock solid
bloodyowl
0
310
Healthy Code Collaboration
bloodyowl
0
160
Simplify your UI management with (algebraic data) types
bloodyowl
0
690
Simplify your UI management with (algebraic data) types
bloodyowl
1
430
Migrating a large Reason+React codebase to hooks
bloodyowl
0
440
Third Party Hell (BestOfWeb)
bloodyowl
0
390
Best practices
bloodyowl
0
320
A good Reason for typing
bloodyowl
1
570
Other Decks in Technology
See All in Technology
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
110
20240418_Google ColabにLLMが搭載されたようなのでPython x データ分析の勉強方法を考えてみる
doradora09
0
140
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
530
データベース02: データベースの概念
trycycle
0
160
どうするコスト最適化のトレードオフ
tetsuyaooooo
1
530
本当のAWS基礎
toru_kubota
0
520
開発パフォーマンスを最大化するための開発体制
ham0215
2
430
20分で完全に理解するGrafanaダッシュボード
hamadakoji
3
670
プラットフォームってつくることより計測することが重要なんじゃないかという話 / Platform Engineering Meetup #8
taishin
1
370
プロンプトエンジニアリングでがんばらない-Agentic Workflow へ-近藤憲児
kenjikondobai
3
850
検証を通して見えてきたTiDBの性能特性
lycorptech_jp
PRO
6
3.8k
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
1
250
Featured
See All Featured
Docker and Python
trallard
34
2.7k
Debugging Ruby Performance
tmm1
70
11k
Principles of Awesome APIs and How to Build Them.
keavy
121
16k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Design by the Numbers
sachag
274
18k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Happy Clients
brianwarren
92
6.4k
Why Our Code Smells
bkeepers
PRO
331
56k
Agile that works and the tools we love
rasmusluckow
325
20k
How to Ace a Technical Interview
jacobian
272
22k
What's new in Ruby 2.0
geeforr
337
31k
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!