Slide 1

Slide 1 text

Fukuoka.ts #2 TS TypeScript v3.7ͷ͓͞Β͍ Tomohisa Oda — GMO Pepabo, Inc. / Oct 15th 2019

Slide 2

Slide 2 text

Fukuoka.ts #2 linyows / Tomohisa Oda GMO Pepabo, Inc.: Principal Engineer Blog: https://tomohisaoda.com 2

Slide 3

Slide 3 text

Fukuoka.ts #2 3 Private Projects ΞϓϦέʔγϣϯࣗ਎͕ϦϙδτϦ͔Β࠷৽ͷίʔ υΛݕ஌ͯࣗ͠ಈͰσϓϩΠͱσϦόϦʔΛߦ͏ πʔϧ MJOVYͷVTFS໊લղܾΛ(JU)VCͷ5FBNϝϯόʔ΍ ϦϙδτϦͷΞΫηεݖݶऀ͔Βߦ͏πʔϧ

Slide 4

Slide 4 text

Fukuoka.ts #2 ΋͏͙͢TypeScript v3.7 ͕ϦϦʔε ଟ෼དྷ݄ 4

Slide 5

Slide 5 text

Fukuoka.ts #2 TypeScript v3.7ʹೖΔݴޠ࢓༷ͷมߋ • Assert Signatures • Recursive Type References • Top Level Await • Null Coalescing • Optional Chaining • Private-Named Instance Fields 5

Slide 6

Slide 6 text

Fukuoka.ts #2 TypeScript v3.7ʹೖΔݴޠ࢓༷ͷมߋ • Assert Signatures • Recursive Type References • Top Level Await • Null Coalescing • Optional Chaining • Private-Named Instance Fields 6

Slide 7

Slide 7 text

Fukuoka.ts #2 ΄΅TC39ͳͷͰ͕͢ΩϟονΞοϓ͍͖ͯ͠·͢:P 7

Slide 8

Slide 8 text

Fukuoka.ts #2 Private-Named Instance Fields https://github.com/tc39/proposal-class-fields Stage 3 8

Slide 9

Slide 9 text

Fukuoka.ts #2 Optional Chaining 9 https://github.com/tc39/proposal-optional-chaining Stage 3

Slide 10

Slide 10 text

Fukuoka.ts #2 Null Coalescing 10 https://github.com/tc39/proposal-optional-chaining https://github.com/tc39/proposal-nullish-coalescing Stage 3

Slide 11

Slide 11 text

Fukuoka.ts #2 Top Level Await 11 https://github.com/tc39/proposal-nullish-coalescing Stage 2 (Node REPL, Chrome debugger)

Slide 12

Slide 12 text

Fukuoka.ts #2 12 Recursive Type References https://github.com/microsoft/TypeScript/pull/33050

Slide 13

Slide 13 text

Fukuoka.ts #2 Assert Signatures 13 https://github.com/microsoft/TypeScript/pull/32695

Slide 14

Slide 14 text

Fukuoka.ts #2 14 User defined Type Guardsͱࣅͯͳ͍ʁ

Slide 15

Slide 15 text

Fukuoka.ts #2 15 User defined Type Guards

Slide 16

Slide 16 text

Fukuoka.ts #2 User defined Type GuardsͱͲ͏ҧ͏ͷʁ w ܕड़ޠͱ͍͏ͱଞʹUser defined Type Guards͕͋͛ΒΕΔ w ͲͪΒ΋ίϯύΠϥʹܕΛ໌ࣔ͢Δ΋ͷ w Assert Signatures͸ɺ੍ޚϑϩʔղੳͷͨΊʹܕΛද໌͢Δ΋ͷͰɺUser defined Type Guards͸ɺܕਪ࿦ͷ֦ு w ࡶʹݴ͏ͱ໭Γ஋ͷҧ͍ User defined Type Guards͸BooleanɺAssert Signatures͸ܕද໌·ͨ͸ྫ֎ͷεϩʔ 16

Slide 17

Slide 17 text

Fukuoka.ts #2 ·ͱΊ w TypeScript v3.7ʹೖΔ༧ఆͷݴޠ࢓༷Λ͓ͭ͞Β͍͠·ͨ͠ w Optional Chaining΍Null Coalescing΍Top Level AwaitͳͲͷศར࢓༷͸৽ ن͸΋ͪΖΜɺطଘͷίʔυΛ୹͘ॻ͖௚͢͜ͱ͕Ͱ͖ͦ͏Ͱ͢ w Assert Signatures͸Type Guardͱಉ͘͡ܕड़ޠͳͷͰॊೈੑͱҾ͖׵͑ʹܕ ҆શΛࣗ෼ͨͪͰ୲อ͢Δ͜ͱʹͳΓ·͢ w Recursive Type References͸Ͳ͏Ͱ͠ΐ͏ʢඞཁͳ৔໘ʹૺ۰ͨ͜͠ͱ͕ͳ ͍ʣ 17

Slide 18

Slide 18 text

Fukuoka.ts #2 18 Thank You, We’re Hiring! ʮϖύϘΩϟϦΞ࠾༻ʯݕࡧ