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
JavaScript - From DHTML to a Multi-Paradigm Lan...
Search
Robert Vogt
September 23, 2016
Technology
430
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JavaScript - From DHTML to a Multi-Paradigm Language
Robert Vogt
September 23, 2016
More Decks by Robert Vogt
See All by Robert Vogt
React Native — Webnesday #9
deniaz
1
430
Hands On: React Native
deniaz
0
390
ADR Lightning Talk
deniaz
0
420
Other Decks in Technology
See All in Technology
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
53k
AI駆動開発は個人技からチーム戦へ:組織でAIを使いこなすための実践設計
moongift
PRO
0
470
Redmine 7.0 新機能・機能強化解説(OSC2026京都ダイジェスト版)
vividtone
1
200
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
OSPN.JPバージョンアップ作業進捗のご報告 / 20260801-osc26kyoto
akkiesoft
0
350
【CEDEC2026】『GRANBLUE FANTASY: Relink - Endless Ragnarok』のバトル制作事例 ~最高のキャラゲーを目指して~
cygames
PRO
0
220
20分でわかるセキュアAPI
nwiizo
0
180
JavaScript 研修 (2026)
recruitengineers
PRO
1
440
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
変化の早いClaude Codeを 書籍に落とし込む
oikon48
7
1.3k
【CEDEC2026】『Relink』を拡張せよ - 『GRANBLUE FANTASY: Relink - Endless Ragnarok』の開発速度と品質を守るCI運用
cygames
PRO
0
140
20260801_スクフェス大阪
kgnkhkr
2
1.2k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
55
12k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
370
Between Models and Reality
mayunak
4
390
My Coaching Mixtape
mlcsv
0
200
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
How to make the Groovebox
asonas
2
2.3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
200
How GitHub (no longer) Works
holman
316
150k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
Joys of Absence: A Defence of Solitary Play
codingconduct
1
430
GraphQLとの向き合い方2022年版
quramy
50
15k
Transcript
JavaScript From DHTML to a Multi-Paradigm Language Robert Vogt #NCamp16
Robert Vogt Software Engineer from & in Sankt Gallen @_deniaz
None
«Web 2.0 describes World Wide Web websites that emphasize user-generated
content, usability, and interoperability for end users.»
jQuery MooTools Prototype JS script.aculo.us
Single-page application
Angular React Object-Oriented Functional
None
JavaScript
«A programming paradigm is a style or way of programming.
Some languages make it easy to write in some paradigms but not others.»
«Object-oriented programming is a programming language model organized around objects
rather than actions and data rather than logic.»
class Dog extends Animal {} let dog = new Dog();
dog.walk();
let Animal = { walk: function() {} }; let Dog
= Object.create(Animal); Dog.bark = function() { return ‘Woof!’; };
Class-based Inheritance Prototypical Inheritance
«Functional Programming is a programming paradigm that treats computation as
the evaluation of mathematical functions and avoids changing-state and mutable data.»
Functions First-Class
let sum = function(a, b) { return a + b;
}
Functions Higher-Order
$.get( 'http://example.com', (data) => { /* Success! */ } );
function createPrinter(a, b) { return function() { return ‘Namics’; }
} const print = createPrinter(); print(); // Namics.
Functions Pure
let double = (x) = x * 2;
Closures Function
let incrementer = (function() { let _value = 0; return
() => ++_value; })(); incrementer(); // 1 incrementer(); // 2 incrementer(); // 3
Data Immutable
const list1 = Immutable.List.of(1, 2); const list2 = list1.push(3, 4,
5);
Composition Function
let ten = double(sum(2, 3));
Soooo… Any Real World Examples?
None
Store View Action Action Dispatcher
const HelloMessage = (props) => ( <div>Hello {props.name}</div> );
«Those who are unaware they are walking in darkness will
never seek light.» — Bruce Lee find me on twitter @_deniaz