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
Direct ProxiesでObject.observeの Polyfillはできるのか
Search
Kazuhito Hokamura
December 18, 2014
Programming
0
550
Direct ProxiesでObject.observeの Polyfillはできるのか
Kazuhito Hokamura
December 18, 2014
Tweet
Share
More Decks by Kazuhito Hokamura
See All by Kazuhito Hokamura
Kotlin製のGraphQLサーバーをNode.jsでモジュラモノリス化している話
hokaccha
0
2.7k
GraphQLの負債と向き合うためにやっていること
hokaccha
2
1.2k
ユビーのアーキテクチャに対する取り組み
hokaccha
1
300
RailsエンジニアのためのNext.js入門
hokaccha
7
17k
Cookpad Summer Internship 2021 Web Frontend
hokaccha
0
6.9k
巨大なモノリシック Rails アプリケーションの マイクロサービス化戦略 / 2019 microservices in cookpad
hokaccha
3
3.5k
巨大なRailsアプリケーションを「普通」にするための取り組み
hokaccha
1
820
Web Frontend Improvement in Cookpad
hokaccha
1
890
cookpad summer internship 2018 - Git
hokaccha
1
9.4k
Other Decks in Programming
See All in Programming
Goのエラースタックトレースの歴史と今後
sonatard
7
1.2k
Milestoner
bkuhlmann
1
410
#phpcon_odawara オープン・クローズドなテストフィクスチャを求めて / open closed test fixtures
77web
3
230
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
2
110
PostmanでAPIの動作確認が楽になった話
h455h1
0
170
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
43
19k
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
7
920
ADRを一年運用してみた/adr_after_a_year
hanhan1978
7
2.3k
コーンフレークから始める モデリング会話入門
ogurotakayuki
0
360
⼤規模⾔語モデルの拡張(RAG)が 終わったかも知れない件について
nearme_tech
23
15k
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
370
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
200
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
322
20k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Understanding Cognitive Biases in Performance Measurement
bluesmoon
7
1k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
17
1.4k
Documentation Writing (for coders)
carmenintech
60
3.9k
Stop Working from a Prison Cell
hatefulcrawdad
266
19k
Music & Morning Musume
bryan
41
5.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
20
1.9k
Embracing the Ebb and Flow
colly
80
4.1k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
Transcript
Direct ProxiesͰObject.observeͷ PolyfillͰ͖Δͷ͔
None
Object.observe Object.observe(obj, (changes) => { // do something }); •
objΛมߋ͢Δͱhandler͕ؔݺΕΔ
Direct Proxies var proxy = new Proxy(obj, { set(target, name,
val, receiver) { // do something } }); • objΛҾͱͯ͠৽ͨͳཧΦϒδΣΫτʢproxyʣΛಘΔ • proxyΛૢ࡞ͨ࣌͠ʹhandler͕ݺΕΔ • objΛૢ࡞ͯ͠handlerݺΕͳ͍
͜ͷAPIΛPolyfill͢Δ ͷແཧͰɾɾʁ Object.observe(obj, (changes) => { // do something });
ProxyͷPolyfillϥΠϒϥϦ
None
harmony-reflect/examples/observer.js
͍͚ͦ͏ʂʂ
ͳΜ͔ΤϥΔɾɾ // Firefox 36.0 Observer(Object); // enable polyfill var obj
= {}; Object.observe(obj, handler); //=> uncaught exception: can only get notifier of observable objects, given [object Object]
͜͏͢Δඞཁ͕͋ΔΒ͍͠ var obj = {}; var o = Object.createObservable(obj); Object.observe(o,
handler);
Q: Direct ProxiesͰObject.observeͷ PolyfillͰ͖Δͷ͔
A:ʢͨͿΜʣແཧ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ