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
320
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
17
Boxed: bringing algebraic types to TypeScript
bloodyowl
0
57
leveraging (algebraic data) types to make your UI rock @ jsheroes
bloodyowl
0
250
Leveraging (algebraic data) types to make your UI rock solid
bloodyowl
0
360
Healthy Code Collaboration
bloodyowl
0
230
Simplify your UI management with (algebraic data) types
bloodyowl
0
780
Simplify your UI management with (algebraic data) types
bloodyowl
1
490
Migrating a large Reason+React codebase to hooks
bloodyowl
0
520
Third Party Hell (BestOfWeb)
bloodyowl
0
520
Other Decks in Technology
See All in Technology
ブロックチェーンR&D企業における SREの実態 / SRE Kaigi 2025
datachain
0
2.5k
メールヘッダーを見てみよう
hinono
0
150
【NGK2025S】動物園(PINTO_model_zoo)に遊びに行こう
kazuhitotakahashi
0
370
インシデントキーメトリクスによるインシデント対応の改善 / Improving Incident Response using Incident Key Metrics
nari_ex
0
2k
Microsoft Ignite 2024 最新情報!Microsoft 365 Agents SDK 概要 / Microsoft Ignite 2024 latest news Microsoft 365 Agents SDK overview
karamem0
0
150
コロプラのオンボーディングを採用から語りたい
colopl
6
1.5k
ドメイン駆動設計によるdodaダイレクトのリビルド実践 / Rebuild practice of doda direct with domain-driven design
techtekt
0
250
月間60万ユーザーを抱える 個人開発サービス「Walica」の 技術スタック変遷
miyachin
5
1.2k
フラット構造をやめた理由と、EM / Tech Leadを作った理由
baroqueworksdev
0
360
プロダクト開発、インフラ、コーポレート、そしてAIとの共通言語としての Terraform / Terraform as a Common Language for Product Development, Infrastructure, Corporate Engineering, and AI
yuyatakeyama
5
1.3k
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
5
1.3k
デザインシステムを始めるために取り組んだこと - TechTrain x ゆめみ ここを意識してほしい!リファクタリング勉強会
kajitack
2
280
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Into the Great Unknown - MozCon
thekraken
34
1.6k
Code Reviewing Like a Champion
maltzj
521
39k
Mobile First: as difficult as doing things right
swwweet
222
9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Invisible Side of Design
smashingmag
299
50k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
174
51k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
192
16k
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!