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
明日から使えない廃止された Mozilla の JavaScript / Obsolete F...
Search
nodaguti
April 01, 2020
Programming
0
57
明日から使えない廃止された Mozilla の JavaScript / Obsolete Features on Mozilla JS
社内 LT で使用したスライドです
nodaguti
April 01, 2020
Tweet
Share
More Decks by nodaguti
See All by nodaguti
ABEMA スマートテレビアプリケーションのパフォーマンス改善 〜業界トップクラスを目指して〜 / Performance Improvements on ABEMA Smart TV App
nodaguti
2
1.2k
FastlyとfalcoでNode.jsレスな Webサーバー構築 : IPTV版 ABEMAアプリインフラ刷新 / Building web server using Fastly and falco without Node.js for IPTV ABEMA app
nodaguti
1
460
専任チームで実現する継続的なWebパフォーマンス改善 / Continuous Web performance improvement realised by dedicated team
nodaguti
0
670
ABEMA Webブラウザ版をより高速で高信頼にするために / Towards more performant and reliable ABEMA
nodaguti
0
1.2k
AbemaTV 新卒1年目エンジニア実録 / My first year at AbemaTV
nodaguti
3
2.5k
Chrome チームの推すこれからくる新しい Web API / Upcoming Web APIs advocated by the Chrome team
nodaguti
5
1.1k
新卒研修でテストカバレッジ99%を達成した話 / HTML 5 Conference 2018 Sponsor's LT
nodaguti
0
790
Other Decks in Programming
See All in Programming
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
0
1.4k
Boost Your Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
290
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
150
flutter_kaigi_mini_4.pdf
nobu74658
0
110
The Evolution of the CRuby Build System
kateinoigakukun
0
720
The Nature of Complexity in John Ousterhout’s Philosophy of Software Design
philipschwarz
PRO
0
130
エンジニアが挑む、限界までの越境
nealle
1
280
監視 やばい
syossan27
11
10k
「”誤った使い方をすることが困難”な設計」で良いコードの基礎を固めよう / phpcon-odawara-2025
taniguhey
0
170
「影響が少ない」を自分の目でみてみる
o0h
PRO
2
1.2k
Lambda(Python)の リファクタリングが好きなんです
komakichi
3
220
AI時代の開発者評価について
ayumuu
0
200
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Fontdeck: Realign not Redesign
paulrobertlloyd
84
5.5k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
800
GitHub's CSS Performance
jonrohan
1030
460k
Writing Fast Ruby
sferik
628
61k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
4 Signs Your Business is Dying
shpigford
183
22k
The Pragmatic Product Professional
lauravandoore
33
6.6k
Rails Girls Zürich Keynote
gr2m
94
13k
Transcript
໌͔Β͑ͳ͍ ഇࢭ͞Εͨ Mozilla ͷ JavaScript Apr 01, 2020 nodaguti @
Web νʔϜ LT
ࢲͷܦྺ • 2007: Firefox 2 ͔Β Firefox ϢʔβʔʹͳΔ • 2008:
UserScript (Greasemonkey script) ͷ։ൃΛ࢝Ί Δ • 2009: userChrome.js script ͷ։ൃΛ࢝ΊΔ • 2010: Firefox add-on ͷ։ൃΛ࢝ΊΔ • 2015: Mozilla ͕ Chrome extension API ϕʔεͷ WebExtension ͱ͍͏༷ʹҠߦΛൃදɼadd-on ։ൃ Λऴྃ͢Δ
Expression Closures (ࣜΫϩʔδϟ) • Firefox 3 - Firefox 60 Ͱ͑ͨ
• Arrow function ͷઌۦ͚Έ͍ͨͳͭ • ΞυΦϯ։ൃͰׂͱॏๅͨ͠ • https://developer.mozilla.org/en-US/docs/Web/ JavaScript/Reference/Operators/Expression_Closures
Array Comprehension (ྻแ) • Firefox 30 - 58 Ͱ͑ͨ •
Mozilla ͕ ECMAScript 3.0 ࡦఆʹ͚ͯ Python ͬΆ͍ڍಈΛೖΕΑ͏ͱ͍ͯͨ͠ ࠒͷͷΒ͍͠ • ECMAScript 5.0 ͷޙʹվΊͯ proposal Λग़͚ͨ͠Ͳ reject ͞Εͨ • ࣮ for ͕ޙஔ͔ΒલஔͱҰճ༷͕มΘͬͨ • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/ Array_comprehensions
Array Generics • Firefox 1.5 - 70 Ͱ͑ͨ • ͍͍ͪͪ
Array.prototype.slice.call() ͷΑ͏ʹॻ͔ͳͯ͘ࡁΉͷͰͱָͯͩͬ ͨ • ඪ४Խ͞Εͳ্͔ͬͨɼArray.from array spread syntax ͕ग़͖ͯͯඞཁੑ͕ ബΕͨ • https://www.fxsitecompat.dev/en-CA/docs/2019/non-standard-array-generics- have-been-deprecated/
ECMAScript for XML (E4X) • Firefox 1 - Firefox 19
Ͱ͑ͨ • XML Λ native ʹѻ͑Δػೳɽཁ built-in JSX Έ͍ͨͳͷɽ • ECMA-357 ͱͯ͠ඪ४Խ͞Ε͍͕ͯͨɼଞͷͲͷϒϥβ࣮͠ͳ͔ͬͨ • Template literals ͕ͳ͍࣌ʹώΞυΩϡϝϯτ༻ͱͯ͠େ׆༂ • ༷͕ෳࡶͰ੬ऑੑͷԹচͱͳΓɼଞϒϥβͱͷޓੑ֬อ͞Εͳ͔ͬ ͨͨΊআ͞Εͨ • https://developer.mozilla.org/en-US/docs/Archive/Web/E4X
Object.prototype.__noSuchMethod__ • Firefox 1 - 43 Ͱ͑ͨ • Ruby ͷ
method_missing Έ͍ͨͳͭ • __de fi neGetter__, __proto__ ͷΑ͏ʹ໊લͰղܾ͢Δ͋ͨΓʹ࣌Λײ͡Δ • ECMAScript 6.0 Ͱ Proxy ͕ೖͬͯ͋͑ͳ͓͘ޚ໔ʹ • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ Object/noSuchMethod
Object.prototype.watch / unwatch • Firefox 1 - 58 Ͱ͑ͨ •
Chrome ͕࣮͍ͯͨ͠ Object.prototype.observe Έ͍ͨͳͭ • ͲͪΒඪ४Խ͞Εͳ͍··আ͞ΕΔ͜ͱʹͳͬͨ • ࣮ߦ࣌ͷ overhead ͕େׂ͖͍ʹ usecase ͕ͦΜͳʹͳ͍ͷ͕ͩͬͨΒ͍͠ • Angular 1 ܥͷ࣌Ͱ׆༂ͦ͠͏Ͱ͕͋ͬͨ... • https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/ Global_Objects/Object/watch
͓ΘΓʹ • ࣮·ͩ private class properties Λኲኵͱͤ͞Δ Sharp Variables ͳͲհ͍ͯ͠ͳ͍ͷ͋ΔͷͰɼ
ڵຯͷ༙͍ͨํ https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/ Deprecated_and_obsolete_features ΛͲ͏ͧ • ඪ४ԽͬͯେมͰ͢Ͷ • ඪ४Խ͞Εͳ͍ͱ༰ࣻͳ͘আ͞ΕΔͷͰɼBabel ͕ ͋ͬͯΑ͍ stage-4 ϥΠϑΛૹΓ·͠ΐ͏
͋Γ͕ͱ͏͍͟͝·ͨ͠ ✌