Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
75
明日から使えない廃止された 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
570
専任チームで実現する継続的なWebパフォーマンス改善 / Continuous Web performance improvement realised by dedicated team
nodaguti
0
750
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
820
Other Decks in Programming
See All in Programming
しっかり学ぶ java.lang.*
nagise
1
460
Feature Flags Suck! - KubeCon Atlanta 2025
phodgson
0
180
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
23
19k
知られているようで知られていない JavaScriptの仕様 4選
syumai
0
640
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
8
11k
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
180
AIコードレビューがチームの"文脈"を 読めるようになるまで
marutaku
0
170
生成AIを活用したリファクタリング実践 ~コードスメルをなくすためのアプローチ
raedion
0
160
JJUG CCC 2025 Fall: Virtual Thread Deep Dive
ternbusty
3
500
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
220
Promise.tryで実現する新しいエラーハンドリング New error handling with Promise try
bicstone
3
1.7k
Micro Frontendsで築いた 共通基盤と運用の試行錯誤 / Building a Shared Platform with Micro Frontends: Operational Learnings
kyntk
1
1.6k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
9.6k
A Modern Web Designer's Workflow
chriscoyier
697
190k
Unsuck your backbone
ammeep
671
58k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Automating Front-end Workflow
addyosmani
1371
200k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Being A Developer After 40
akosma
91
590k
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 ϥΠϑΛૹΓ·͠ΐ͏
͋Γ͕ͱ͏͍͟͝·ͨ͠ ✌