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
What's New in JavaScript and Why (korean, 2019)
Search
Jihoon KIm
June 21, 2019
Programming
0
70
What's New in JavaScript and Why (korean, 2019)
What's New in JavaScript and Why (korean, 2019)
I/O Extended 2019 Pangyo
Jihoon KIm
June 21, 2019
Tweet
Share
More Decks by Jihoon KIm
See All by Jihoon KIm
DevFest 2019 DevOps and Test (Korean)
superfishz
0
13
TDD, Test Driven Development
superfishz
0
18
introduce asymptotic notation
superfishz
0
14
Other Decks in Programming
See All in Programming
Serena MCPのすすめ
wadakatu
4
1k
3年ぶりにコードを書いた元CTOが Claude Codeと30分でMVPを作った話
maikokojima
0
470
CSC305 Lecture 08
javiergs
PRO
0
210
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
960
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
970
ALL CODE BASE ARE BELONG TO STUDY
uzulla
25
6.2k
CSC509 Lecture 04
javiergs
PRO
0
300
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
CSC305 Lecture 06
javiergs
PRO
0
240
Foundation Modelsを実装日本語学習アプリを作ってみた!
hypebeans
0
110
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
160
AI Coding Meetup #3 - 導入セッション / ai-coding-meetup-3
izumin5210
0
3.3k
Featured
See All Featured
Designing for humans not robots
tammielis
254
26k
Why Our Code Smells
bkeepers
PRO
340
57k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
35
6.1k
GitHub's CSS Performance
jonrohan
1032
470k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Optimizing for Happiness
mojombo
379
70k
Become a Pro
speakerdeck
PRO
29
5.6k
KATA
mclloyd
32
15k
Practical Orchestrator
shlominoach
190
11k
Designing for Performance
lara
610
69k
Automating Front-end Workflow
addyosmani
1371
200k
Transcript
What's New In Javascript and Why ӣള kakao corp
• What’s new in JavaScript(Google I/O ’19) ীࢲ աৡ ঠӝ
+ ࢎ • ਊغѢա ֤ ੋ JavaScript ӝמٜী ೧ ঠӝ Overview
• class fields • String#matchAll • numeric separators • BigInt
• Array#{flat, flatMap} • Object.fromEntries Index • globalThis • Array#sort • Intl • Promise • WeakRefs
None
2018...
class fields
class fields
class fields
class fields
class fields
class fields
class fields
class fields
class fields
class fields
class fields V8 7.4+ Chrome 74+ Node.js 12+ https://v8.dev/features/class-fields
String#matchAll
String#matchAll
String#matchAll
String#matchAll
String#matchAll V8 7.3+ Chrome 73+ Firefox 67+ Node.js 12+ https://v8.dev/features/string-matchall
numeric separators
numeric separators
numeric separators
numeric separators V8 7.5+ Chrome 75+ https://v8.dev/features/string-matchall https://github.com/tc39/proposal-numeric-separator
BigInt
BigInt
BigInt
BigInt
BigInt
BigInt * ࣗࣻ ࠛо! * Number ৬ ഒਊ೧ࢲ ࢎਊ ࠛо!
(э ܐഋਵ۽ ఋੑ நझ ೧ঠ ೣ) * Math ё ݫࢲ٘ܳ ೣԋ ࢎਊ ࠛо * https://developer.mozilla.org/ko/docs/Web/JavaScript/ Reference/Global_Objects/BigInt
BigInt
BigInt Chrome 67+ Firefox 68+ Node.js 12+ (10.8+) https://v8.dev/features/bigint https://node.green/#ESNEXT-candidate--stage-3--BigInt
BigInt Chrome 67+ Firefox 68+ Node.js 12+ (10.8+) https://v8.dev/features/bigint https://node.green/#ESNEXT-candidate--stage-3--BigInt
pure-JavaScript implementation of the official ECMAScript BigInt proposal - https://github.com/GoogleChromeLabs/jsbi
Array#{flat, flatMap}
Array#{flat, flatMap}
Array#{flat, flatMap}
Array#{flat, flatMap}
Array#{flat, flatMap}
Array#{flat, flatMap}
Array#{flat, flatMap}
Array#{flat, flatMap}
Array#{flat, flatMap}
Array#{flat, flatMap} Chrome 69+ Firefox 62+ Safari 12+ Node.js 11+
https://v8.dev/features/array-flat-flatmap
Object.fromEntries
Object.fromEntries
Object.fromEntries
Object.fromEntries
Object.fromEntries
Object.fromEntries
Object.fromEntries
Object.fromEntries
Object.fromEntries Chrome 73+ Firefox 63+ Safari 12.1+ Node.js 12+ (link)
mdn - Object/fromEntries
globalThis
globalThis
globalThis
globalThis Chrome 71+ Firefox 65+ Safari 12.1+ Node.js 12+ (link)
mdn - globalThis
Array#sort
Array#sort
Array#sort
Array#sort
Array#sort V8 7.0+ Chrome 70+ & ‘All major JavaScript engines’
https://v8.dev/blog/array-sort
Intl - internationalization
Intl - internationalization
Intl - internationalization
Intl - internationalization
Intl - internationalization
check specific versions https://v8.dev/blog/intl https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl https://nodejs.org/api/intl.html Intl - internationalization
Promise
Promise
Promise.all
Promise.race
Promise
Promise.allSettled Chrome 76+ https://github.com/tc39/proposal-promise-allsettled
Promise.any proposal https://github.com/tc39/proposal-promise-any
https://v8.dev/features/promise-combinators Promise
WeakRef - proposal
WeakRef - proposal https://github.com/tc39/proposal-weakrefs https://tc39.es/proposal-weakrefs/#sec-weak-ref-objects https://www.youtube.com/watch?v=c0oy0vQKEZE&t=1950s “ A WeakRef is
an object that is used to refer to a target object without preserving it from garbage collection. WeakRefs can dereference to allow access to the target object, if the target object hasn't been reclaimed by garbage collection. ”
WeakRef - proposal Usage * cache(performExpensiveOperation) * WebAssembly * prevent
memory leaks https://github.com/tc39/proposal-weakrefs https://tc39.es/proposal-weakrefs/#sec-weak-ref-objects https://www.youtube.com/watch?v=c0oy0vQKEZE&t=1950s
TMI
* Node.js check v8 version * node -e ‘console.log(process.versions.v8);' *
Node.js Internationalization Support * https://nodejs.org/api/intl.html * (default) small-icu
Fin.