$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
社内LT2020/01/23
Search
Kento Matsumoto
January 23, 2020
Programming
0
47
社内LT2020/01/23
Kento Matsumoto
January 23, 2020
Tweet
Share
More Decks by Kento Matsumoto
See All by Kento Matsumoto
ストーリーポイント.pdf
stepanve
0
90
社内LT2019/11/21
stepanve
0
65
社内LT2019/11/7
stepanve
0
81
社内LT2019/10/24
stepanve
0
66
Other Decks in Programming
See All in Programming
AWS CDKの推しポイントN選
akihisaikeda
1
240
Canon EOS R50 V と R5 Mark II 購入でみえてきた最近のデジイチ VR180 事情、そして VR180 静止画に活路を見出すまで
karad
0
110
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
170
Microservices rules: What good looks like
cer
PRO
0
1.4k
エディターってAIで操作できるんだぜ
kis9a
0
730
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
470
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
490
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
160
JETLS.jl ─ A New Language Server for Julia
abap34
1
400
チームをチームにするEM
hitode909
0
330
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
390
AIコーディングエージェント(Manus)
kondai24
0
190
Featured
See All Featured
Designing for Performance
lara
610
69k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.3k
How STYLIGHT went responsive
nonsquared
100
6k
Automating Front-end Workflow
addyosmani
1371
200k
GitHub's CSS Performance
jonrohan
1032
470k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Navigating Team Friction
lara
191
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
BBQ
matthewcrist
89
9.9k
Transcript
ES2020 社内勉強会
String.prototype.matchAll const regexp = /t(e)(st(\d?))/g const str = 'test1test2' [...str.matchAll(regexp)]
// ['test1', 'e', 'st1', '1', index: 0, input: 'test1test2', length: 4] // ['test2', 'e', 'st2', '2', index: 5, input: 'test1test2', length: 4]
import() import { calcAge } from '..utils' calcAge('1989/12/05') // 30
const utils = await import('..utils') utils.calcAge('1989/12/05') // 30
BigInt const int = Number.MAX_VALUE // 1.7976931348623157e+308 const bigInt =
Number.MAX_VALUE // 1797693134862315708145274237317043567980705675258449965989174768031572 607800285387605895586327668781715404589535143824642343213268894641827684 675467035375169860499105765512820762454900903893289440758685084551339423 045832369032229481658085593321233482747978262041447231687381771809192998 81250404026184124858368 n
Promise.allSettled const int = promises = [ fetch('index.html'), fetch('test.html') ]
const result = await Promise.allSettled(promises) const successfulPromises = result.filter(p.status=== 'fulfilled')
globalThis // worker.js globalThis === self // node.js globalThis ===
global // browser.js globalThis === window
for-in mechanics - Partially specifying object enumeration order in JavaScript
(順序が部分的に指定されるようになる)
Optional Chaining const obj = {} if (!obj.address.postCode) console.log('OK') //
Uncaught TypeError: Cannot read property 'postCode' of undefined if (!(obj && obj.address && obj.address.postCode)) console.log('OK') // OK if (!obj?.address?.postCode) console.log('OK') // OK
Nullish coalescing Operator Null || 'second' // 'second' Null ??
'second' // 'second' undefined || 'second' // 'second' undefined ?? 'second' // 'second' 0 || 'second' // 'second' 0 ?? 'second' // 0 '' || 'second' // 'second' '' ?? 'second' // ''
References - https://github.com/tc39/proposals/blob/master/finished-proposals.md - https://github.com/tc39/proposal-string-matchall - https://github.com/tc39/proposal-dynamic-import - https://github.com/tc39/proposal-bigint -
https://github.com/tc39/proposal-promise-allSettled - https://github.com/tc39/proposal-global - https://github.com/tc39/proposal-for-in-order - https://github.com/tc39/proposal-optional-chaining - https://github.com/tc39/proposal-nullish-coalescing