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
数値の文字列をパースしよう
Search
circled9
June 28, 2024
Programming
280
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
数値の文字列をパースしよう
circled9
June 28, 2024
More Decks by circled9
See All by circled9
キースイッチ入門
circled9
0
110
CloudflareのAI関連の機能さわってみた
circled9
0
930
0.0.0.0 day
circled9
0
140
小数の丸め誤差の話
circled9
0
150
🔥 Hono v4 やってみた
circled9
1
250
JetBrains AI Assistant を試してみた
circled9
1
600
Fresh
circled9
0
280
React Hooks 勉強会 vol.3
circled9
2
460
JSON.stringify()
circled9
2
510
Other Decks in Programming
See All in Programming
Contextとはなにか
chiroruxx
1
390
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
840
AI 輔助遺留系統現代化的經驗分享
jame2408
1
1.2k
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
160
フィードバックで育てるAI開発
kotaminato
1
110
AIキャラアプリkaiwaの低遅延音声通話基盤をどう作ったか - AWS Gravitonで支える低遅延・低コストAI Agent基盤
mogamit
0
160
霧の中の代数的エフェクト
funnyycat
1
310
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
140
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
150
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
200
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
7
3.3k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
580
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Technical Leadership for Architectural Decision Making
baasie
3
430
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
490
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
170
Paper Plane
katiecoart
PRO
1
52k
Product Roadmaps are Hard
iamctodd
55
12k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
170
Unsuck your backbone
ammeep
672
58k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
170
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
How to make the Groovebox
asonas
2
2.3k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
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