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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
nodaguti
April 01, 2020
Programming
0
83
明日から使えない廃止された 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.3k
FastlyとfalcoでNode.jsレスな Webサーバー構築 : IPTV版 ABEMAアプリインフラ刷新 / Building web server using Fastly and falco without Node.js for IPTV ABEMA app
nodaguti
1
590
専任チームで実現する継続的なWebパフォーマンス改善 / Continuous Web performance improvement realised by dedicated team
nodaguti
0
770
ABEMA Webブラウザ版をより高速で高信頼にするために / Towards more performant and reliable ABEMA
nodaguti
0
1.2k
AbemaTV 新卒1年目エンジニア実録 / My first year at AbemaTV
nodaguti
3
2.7k
Chrome チームの推すこれからくる新しい Web API / Upcoming Web APIs advocated by the Chrome team
nodaguti
5
1.2k
新卒研修でテストカバレッジ99%を達成した話 / HTML 5 Conference 2018 Sponsor's LT
nodaguti
0
830
Other Decks in Programming
See All in Programming
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
Basic Architectures
denyspoltorak
0
680
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
140
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
730
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Being A Developer After 40
akosma
91
590k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
830
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Everyday Curiosity
cassininazir
0
130
Amusing Abliteration
ianozsvald
0
100
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.8k
A Tale of Four Properties
chriscoyier
162
24k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
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 ϥΠϑΛૹΓ·͠ΐ͏
͋Γ͕ͱ͏͍͟͝·ͨ͠ ✌