Slide 1

Slide 1 text

Numbers in javascript

Slide 2

Slide 2 text

Name @brn (ꫬꅿ⨳ⵃ) Occupation ؿٗٝزؒٝسؒٝآص،٥ط؎ذ؍ـؒٝآص، Company Cyberagent ،سذؙأةآؔ AI Messenger OSS Contributor of V8 About http://info.b6n.ch

Slide 3

Slide 3 text

Number ES2016~2018׾穗גjavascriptך侧⦼㘗ח׮ ְֻאַ㢌⻉ָ֮׏׋ךד׉ך鑧

Slide 4

Slide 4 text

Variations -  侭侧 -  㼭侧 -  16鹌侧 -  8鹌侧 -  2鹌侧 -  Bigint -  Separator

Slide 5

Slide 5 text

侭侧 64bitתדך侭侧׾䪔ִ׷ ⰻ鿇涸חכ㹋鄲⣛㶷׌ָ31bit侭侧ה64bit Doubleדⴽ׸גְ׋׶ծ 64bit Doubleך׫׌׏׋׶

Slide 6

Slide 6 text

㼭侧 㼭侧挿 הֻח鎉ֲֿה׮זְָծⰻ鿇涸חכ64bit DoubleדⳢ椚ׁ׸׷ זךד鎘皾穠卓כ鵚⡂⦼חז׷

Slide 7

Slide 7 text

16鹌侧 0xדכׄת׷侧⦼ CSSהַדֶזׄ׫

Slide 8

Slide 8 text

8鹌侧 0oדכׄת׷ַ 0~ד7⟃♳ך侧⦼ָזְ㜥さח8鹌侧חז׷ ؿ؋؎ٕػ٦ىحءّٝהַדֶזׄ׫

Slide 9

Slide 9 text

// 8進数! 0o777! ! // 暗黙の8進数 0777! ! // 0から始まる10進数 0778! ! "use strict";! 0777 // Error!!

Slide 10

Slide 10 text

2鹌侧 0bַ׵㨣ת׷0ה1ך׫⢪欽〳腉זٔذٕٓ

Slide 11

Slide 11 text

// 2進数! 0b11101101 // 237!

Slide 12

Slide 12 text

BigInt 64bit⟃♳ך侧⦼׾䪔ֲ㜥さח⢪ֲ 植㖈Stage3 侧⦼ٔذٕٓך䖓׹ח n ׾אֽ׷ֿהדBigIntٔذٕٓ׾邌植ׅ׷կ HexװOctalٔذٕٓ׮؟ه٦زկ侧⦼ٔذٕٓהずֻׄn׾劣㽵ח אֽ׷ֿהדBigIntחז׷կ(׋׌׃ծOctalכ0oXXX䕎䒭ך׫) ת׋ծtypeof כ 'bigint'ָ䨱׷կ

Slide 13

Slide 13 text

// Bigint! 10n + 10n // 20n! 10n + 10 // Error! typeof 10n // 'bigint'! BigInt('100') // 100n!

Slide 14

Slide 14 text

BigInt 鑫׃ֻכ https://speakerdeck.com/brn/ecmascript-bigint ח剅ְ׋

Slide 15

Slide 15 text

Separator 植㖈Stage3 ת׌mergeׁ׸גְזְָV8ח㹋鄲׃ג׫׋ ׉ךֲ׍⢪ִ׷״ֲחז׷ծ✮㹀

Slide 16

Slide 16 text

// Numeric Separators! 1_0_0_0_0! 0xFF_FF_FF! 0b1000_1111_0000! 0o7_7_7! ! 1__0 // Error! 1000_ // Error!

Slide 17

Slide 17 text

׀幠耮֮׶ָהֲ׀ְׂת׃׋