Slide 1

Slide 1 text

਺஋ͷจࣈྻΛύʔε͠Α͏ Niigata 5min Tech #9 @circled9 1

Slide 2

Slide 2 text

ࣗݾ঺հ @circled9 দҪɹਖ਼ࢤ / Matsui Masashi גࣜձࣾϞχΫϧ TypeScriptͰ৭ʑܭࢉ͢Δ࢓ࣄΛ ͯ͠·͢ 2

Slide 3

Slide 3 text

਺஋ͷจࣈྻͷύʔε • JavaScriptͰ਺஋ͷจࣈྻͷύʔε͠·͢ΑͶʁ • parseInt, parseFloat, NumberͷͲΕ࢖͑͹͍͍͔೰Έ·ͤΜ ͔ʁ • ͱ͍͏Θ͚Ͱ৭ʑύʔεͯ͠Έ·ͨ͠ 3

Slide 4

Slide 4 text

੔਺ 4

Slide 5

Slide 5 text

"123" 5

Slide 6

Slide 6 text

ී௨ͷ੔਺ͷ৔߹ > parseInt("123") <- 123 > parseFloat("123") <- 123 > Number("123") <- 123 6

Slide 7

Slide 7 text

"123,456" 7

Slide 8

Slide 8 text

ܻ̏۠੾Γͷ੔਺ͷ৔߹ > parseInt("123,456") <- 123 > parseFloat("123,456") <- 123 > Number("123,456") <- NaN 8

Slide 9

Slide 9 text

"123_456" 9

Slide 10

Slide 10 text

Numeric Separator • ES2021ͷه๏ • ਺஋ͷ۠੾Γจࣈͱͯ͠ΞϯμʔείΞ͕࢖͑Δ > 123_456_789 <- 123456789 10

Slide 11

Slide 11 text

ΞϯμʔείΞ۠੾Γͷ੔਺ͷ৔߹ > parseInt("123_456") <- 123 > parseFloat("123_456") <- 123 > Number("123_456") <- NaN 11

Slide 12

Slide 12 text

੔਺ͷ·ͱΊ • parseIntͱparseFloat͸਺஋Ҏ֎ͷจࣈ͕ग़ͯ͘Δ·Ͱύʔε͢ Δ • Number͸มͳจࣈ͕͋ΔͱNaNΛฦ͢ 12

Slide 13

Slide 13 text

খ਺ 13

Slide 14

Slide 14 text

"1.23" 14

Slide 15

Slide 15 text

ී௨ͷখ਺ͷ৔߹ > parseInt("1.23") <- 1 > parseFloat("1.23") <- 1.23 > Number("1.23") <- 1.23 15

Slide 16

Slide 16 text

".123" 16

Slide 17

Slide 17 text

খ਺ͷলུܗͷ৔߹ > parseInt(".123") <- NaN > parseFloat(".123") <- 0.123 > Number(".123") <- 0.123 17

Slide 18

Slide 18 text

"192.168.1.1" 18

Slide 19

Slide 19 text

খ਺Ͱ͸ͳ͍Կ͔ͩͬͨ৔߹ > parseInt("192.168.1.1") <- 192 > parseFloat("192.168.1.1") <- 192.168 > Number("192.168.1.1") <- NaN 19

Slide 20

Slide 20 text

খ਺ͷ·ͱΊ • parseInt͸਺஋Ҏ֎ͷจࣈ͕ग़ͯ͘Δ·Ͱύʔε͢Δ • parseFloat͸খ਺ͱͯ͠ύʔεͰ͖Δͱ͜Ζ·Ͱύʔε͢Δ • Number͸খ਺ͱ͓͔͍ͯ͠͠৔߹͸NaNΛฦ͢ 20

Slide 21

Slide 21 text

ͦͷଞͷ਺ 21

Slide 22

Slide 22 text

"1.234E-5" 22

Slide 23

Slide 23 text

ࢦ਺දهͷ৔߹ > parseInt("1.234E-5") <- 1 > parseFloat("1.234E-5") <- 0.00001234 > Number("1.234E-5") <- 0.00001234 23

Slide 24

Slide 24 text

"Infinity" 24

Slide 25

Slide 25 text

In fi nityͷ৔߹ > parseInt("-Infinity") <- NaN > parseFloat("-Infinity") <- -Infinity > Number("-Infinity") <- -Infinity 25

Slide 26

Slide 26 text

" 123 " 26

Slide 27

Slide 27 text

લޙʹۭന͕͋Δ৔߹ > parseInt(" 123 ") <- 123 > parseFloat(" 123 ") <- 123 > Number(" 123 ") <- 123 27

Slide 28

Slide 28 text

" 1 2 3 " 28

Slide 29

Slide 29 text

్தʹۭന͕͋Δ৔߹ > parseInt(" 1 2 3 ") <- 1 > parseFloat(" 1 2 3 ") <- 1 > Number(" 1 2 3 ") <- NaN 29

Slide 30

Slide 30 text

ͦͷଞͷ਺ͷ·ͱΊ • parseFloat΋Number΋ࢦ਺දه΍InfinityʹରԠ͍ͯ͠Δ • Ͳͷؔ਺΋จࣈྻͷલޙͷۭന͸ແࢹ͢Δ • Ͳͷؔ਺΋จࣈྻͷ్தͷۭന͸ύʔεͰ͖ͳ͍จࣈѻ͍ʹͳΔ 30

Slide 31

Slide 31 text

ۭͷ஋ 31

Slide 32

Slide 32 text

"" 32

Slide 33

Slide 33 text

ۭจࣈͷ৔߹ > parseInt("") <- NaN > parseFloat("") <- NaN > Number("") <- 0 33

Slide 34

Slide 34 text

null 34

Slide 35

Slide 35 text

nullͷ৔߹ > parseInt(null) <- NaN > parseFloat(null) <- NaN > Number(null) <- 0 35

Slide 36

Slide 36 text

undefined 36

Slide 37

Slide 37 text

unde fi nedͷ৔߹ > parseInt(undefined) <- NaN > parseFloat(undefined) <- NaN > Number(undefined) <- NaN 37

Slide 38

Slide 38 text

ۭͷ஋ͷ·ͱΊ • Number͸ۭനจࣈͱnullΛύʔε͢Δͱ0Λฦ͢ • ҰํɺparseIntͱparseFloat͸NaNΛฦ͢ • Ͳͷؔ਺΋undefinedΛύʔε͢ΔͱNaNΛฦ͢ 38

Slide 39

Slide 39 text

·ͱΊ 39

Slide 40

Slide 40 text

·ͱΊ • parseInt͸਺ࣈͷ෦෼ΛͰ͖Δ͚ͩύʔε͢Δ • parseFloat͸খ਺ͬΆ͍෦෼ΛͰ͖Δ͚ͩύʔε͢Δ • Number͸มͳจࣈ͕ೖͬͯΔͱNaNΛฦ͢ • Numberͷۭനจࣈͱnullͷڍಈʹ஫ҙ 40

Slide 41

Slide 41 text

͓·͚ 41

Slide 42

Slide 42 text

͜ΕΒ͸Ұॹ > parseInt === Number.parseInt <- true > parseFloat === Number.parseFloat <- true 42

Slide 43

Slide 43 text

͜Ε΋Ұॹ > +"" === Number("") <- true 43