Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
数値の文字列をパースしよう
Search
circled9
June 28, 2024
Programming
0
240
数値の文字列をパースしよう
circled9
June 28, 2024
Tweet
Share
More Decks by circled9
See All by circled9
キースイッチ入門
circled9
0
88
CloudflareのAI関連の機能さわってみた
circled9
0
750
0.0.0.0 day
circled9
0
110
小数の丸め誤差の話
circled9
0
150
🔥 Hono v4 やってみた
circled9
1
210
JetBrains AI Assistant を試してみた
circled9
1
550
Fresh
circled9
0
260
React Hooks 勉強会 vol.3
circled9
2
450
JSON.stringify()
circled9
2
500
Other Decks in Programming
See All in Programming
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
24
21k
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
5
270
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
580
All(?) About Point Sets
hole
0
260
認証・認可の基本を学ぼう前編
kouyuume
0
150
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
260
目的で駆動する、AI時代のアーキテクチャ設計 / purpose-driven-architecture
minodriven
11
3.9k
関数実行の裏側では何が起きているのか?
minop1205
1
570
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
130
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
400
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
7
1.9k
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
110
Featured
See All Featured
Designing for Performance
lara
610
69k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
960
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Become a Pro
speakerdeck
PRO
30
5.7k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Mobile First: as difficult as doing things right
swwweet
225
10k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Producing Creativity
orderedlist
PRO
348
40k
Transcript
ͷจࣈྻΛύʔε͠Α͏ Niigata 5min Tech #9 @circled9 1
ࣗݾհ @circled9 দҪɹਖ਼ࢤ / Matsui Masashi גࣜձࣾϞχΫϧ TypeScriptͰ৭ʑܭࢉ͢ΔࣄΛ ͯ͠·͢ 2
ͷจࣈྻͷύʔε • JavaScriptͰͷจࣈྻͷύʔε͠·͢ΑͶʁ • parseInt, parseFloat, NumberͷͲΕ͍͍͔͑Έ·ͤΜ ͔ʁ • ͱ͍͏Θ͚Ͱ৭ʑύʔεͯ͠Έ·ͨ͠
3
4
"123" 5
ී௨ͷͷ߹ > parseInt("123") <- 123 > parseFloat("123") <- 123 >
Number("123") <- 123 6
"123,456" 7
ܻ̏۠Γͷͷ߹ > parseInt("123,456") <- 123 > parseFloat("123,456") <- 123 >
Number("123,456") <- NaN 8
"123_456" 9
Numeric Separator • ES2021ͷه๏ • ͷ۠Γจࣈͱͯ͠ΞϯμʔείΞ͕͑Δ > 123_456_789 <- 123456789
10
ΞϯμʔείΞ۠Γͷͷ߹ > parseInt("123_456") <- 123 > parseFloat("123_456") <- 123 >
Number("123_456") <- NaN 11
ͷ·ͱΊ • parseIntͱparseFloatҎ֎ͷจࣈ͕ग़ͯ͘Δ·Ͱύʔε͢ Δ • Numberมͳจࣈ͕͋ΔͱNaNΛฦ͢ 12
খ 13
"1.23" 14
ී௨ͷখͷ߹ > parseInt("1.23") <- 1 > parseFloat("1.23") <- 1.23 >
Number("1.23") <- 1.23 15
".123" 16
খͷলུܗͷ߹ > parseInt(".123") <- NaN > parseFloat(".123") <- 0.123 >
Number(".123") <- 0.123 17
"192.168.1.1" 18
খͰͳ͍Կ͔ͩͬͨ߹ > parseInt("192.168.1.1") <- 192 > parseFloat("192.168.1.1") <- 192.168 >
Number("192.168.1.1") <- NaN 19
খͷ·ͱΊ • parseIntҎ֎ͷจࣈ͕ग़ͯ͘Δ·Ͱύʔε͢Δ • parseFloatখͱͯ͠ύʔεͰ͖Δͱ͜Ζ·Ͱύʔε͢Δ • Numberখͱ͓͔͍ͯ͠͠߹NaNΛฦ͢ 20
ͦͷଞͷ 21
"1.234E-5" 22
ࢦදهͷ߹ > parseInt("1.234E-5") <- 1 > parseFloat("1.234E-5") <- 0.00001234 >
Number("1.234E-5") <- 0.00001234 23
"Infinity" 24
In fi nityͷ߹ > parseInt("-Infinity") <- NaN > parseFloat("-Infinity") <-
-Infinity > Number("-Infinity") <- -Infinity 25
" 123 " 26
લޙʹۭന͕͋Δ߹ > parseInt(" 123 ") <- 123 > parseFloat(" 123
") <- 123 > Number(" 123 ") <- 123 27
" 1 2 3 " 28
్தʹۭന͕͋Δ߹ > parseInt(" 1 2 3 ") <- 1 >
parseFloat(" 1 2 3 ") <- 1 > Number(" 1 2 3 ") <- NaN 29
ͦͷଞͷͷ·ͱΊ • parseFloatNumberࢦදهInfinityʹରԠ͍ͯ͠Δ • Ͳͷؔจࣈྻͷલޙͷۭനແࢹ͢Δ • Ͳͷؔจࣈྻͷ్தͷۭനύʔεͰ͖ͳ͍จࣈѻ͍ʹͳΔ 30
ۭͷ 31
"" 32
ۭจࣈͷ߹ > parseInt("") <- NaN > parseFloat("") <- NaN >
Number("") <- 0 33
null 34
nullͷ߹ > parseInt(null) <- NaN > parseFloat(null) <- NaN >
Number(null) <- 0 35
undefined 36
unde fi nedͷ߹ > parseInt(undefined) <- NaN > parseFloat(undefined) <-
NaN > Number(undefined) <- NaN 37
ۭͷͷ·ͱΊ • NumberۭനจࣈͱnullΛύʔε͢Δͱ0Λฦ͢ • ҰํɺparseIntͱparseFloatNaNΛฦ͢ • ͲͷؔundefinedΛύʔε͢ΔͱNaNΛฦ͢ 38
·ͱΊ 39
·ͱΊ • parseIntࣈͷ෦ΛͰ͖Δ͚ͩύʔε͢Δ • parseFloatখͬΆ͍෦ΛͰ͖Δ͚ͩύʔε͢Δ • Numberมͳจࣈ͕ೖͬͯΔͱNaNΛฦ͢ • Numberͷۭനจࣈͱnullͷڍಈʹҙ 40
͓·͚ 41
͜ΕΒҰॹ > parseInt === Number.parseInt <- true > parseFloat ===
Number.parseFloat <- true 42
͜ΕҰॹ > +"" === Number("") <- true 43