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
社内LT2020/01/23
Search
Kento Matsumoto
January 23, 2020
Programming
0
45
社内LT2020/01/23
Kento Matsumoto
January 23, 2020
Tweet
Share
More Decks by Kento Matsumoto
See All by Kento Matsumoto
ストーリーポイント.pdf
stepanve
0
88
社内LT2019/11/21
stepanve
0
64
社内LT2019/11/7
stepanve
0
80
社内LT2019/10/24
stepanve
0
66
Other Decks in Programming
See All in Programming
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
200
AIでLINEスタンプを作ってみた
eycjur
1
230
🔨 小さなビルドシステムを作る
momeemt
3
670
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
19
11k
Deep Dive into Kotlin Flow
jmatsu
1
310
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
22
12k
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
250
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
280
為你自己學 Python - 冷知識篇
eddie
1
350
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
390
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
210
ProxyによるWindow間RPC機構の構築
syumai
3
1.1k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
BBQ
matthewcrist
89
9.8k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Code Reviewing Like a Champion
maltzj
525
40k
The Invisible Side of Design
smashingmag
301
51k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
A better future with KSS
kneath
239
17k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
810
The Pragmatic Product Professional
lauravandoore
36
6.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