Upgrade to Pro — share decks privately, control downloads, hide ads and more …

温故知新 TypeScript10年の歴史を振り返る

k.okayama
March 03, 2023

温故知新 TypeScript10年の歴史を振り返る

k.okayama

March 03, 2023
Tweet

Other Decks in Programming

Transcript

  1. 温故知新 TypeScript10年の歴史を振り返る
    株式会社Gemcook 岡山 叶太

    View Slide

  2. 自己紹介
    名前: 岡山 叶太
    年齢: 30才
    出身: 大阪
    趣味: コーヒー
    所属: 株式会社Gemcook
    経歴:フロントエンド3年目

    エンジニア歴 = フロント歴 = React歴 = TypeScript歴

    View Slide

  3. 社 名: 株式会社 Gemcook (ジェムクック)
    代表者: 藤本 卓哉
    設 立: 2016年9月12日 (7期目)
    従業員: 15名
    顧 問: 中川 雅史 (ヤフー株式会社)

    View Slide

  4. 温故知新 TypeScript10年の歴史を振り返る

    View Slide

  5. ターゲット
    ・TypeScript初心者(~ 中級者)の方
    ・TypeScriptの動向を最近チェックできてない方

    View Slide

  6. アジェンダ
    ・TypeScriptの10年を振り返る
    ・TypeScriptの今とこれから

    View Slide

  7. アジェンダ
    ・TypeScriptの10年を振り返る
    ・TypeScriptの今とこれから
    ・TypeScript基礎振り返り
    ・新しく追加された機能への理解

    View Slide

  8. TypeScriptの10年を振り返る
    HappyBirthday TypeScript
    2012.10 TypeScript 0.8.0

    View Slide

  9. TypeScriptの10年を振り返る
    https://devblogs.microsoft.com/typescript/ten-years-of-typescript/
    HappyBirthday TypeScript
    2012.10 TypeScript 0.8.0
    When TypeScript first debuted, there was a lot of skepticism – and
    understandably so. To some JavaScript users, a team trying to bring static
    types to JavaScript might have sounded like an evil plot or a joke.

    TypeScriptが最初にデビューしたとき、多くの懐疑的な意見があった。そしてそれは当
    然である。あるJavaScriptユーザにとっては、JavaScriptに静的な型を導入しようとす
    るチームは邪悪な陰謀か冗談に聞こえたかもしれない。
    Microsoftの中の人は語る...。

    View Slide

  10. TypeScript 1.0
    2014.04
    約1年半後、正式版がリリース
    TypeScriptのバージョニングは...。
    TypeScriptの10年を振り返る

    View Slide

  11. TypeScript 1.0
    2014.04
    約1年半後、正式版がリリース
    TypeScriptのバージョニングは...。
    TypeScriptの10年を振り返る
    こういうのじゃない!!
    ‡ semantics versioning ではない。

    View Slide

  12. TypeScript 1.0
    2014.04
    約1年半後、正式版がリリース
    TypeScriptのバージョニングは...。
    TS 4.7
    2022.05
    TS 4.8
    2022.08
    TS 4.9
    2022.11
    TS 5.0
    2023.03?
    TypeScriptの10年を振り返る
    j semantics versioning ではない。
    j 大体3ヶ月に1回ペースでバージョンアップ。

    View Slide

  13. TypeScript 1.3
    2014.11
    & Tuple Types
    TypeScriptの10年を振り返る

    View Slide

  14. TypeScript 1.4
    2015.01
    ( Union Types
    TypeScript 1.3
    2014.11
    ( Tuple Types
    ( Type Alias
    TypeScriptの10年を振り返る

    View Slide

  15. TypeScript 1.6
    2015.09
    TypeScript 1.4
    2015.01
    B Union Types
    TypeScript 1.3
    2014.11
    B Tuple Types
    B Type Alias
    B Intersection types
    TypeScriptの10年を振り返る

    View Slide

  16. TypeScript 1.6
    2015.09
    TypeScript 1.8
    2016.02
    TypeScript 1.4
    2015.01
    U Union Types
    TypeScript 1.3
    2014.11
    U Tuple Types
    U Type Alias
    U Intersection types
    U String Literal Types
    TypeScriptの10年を振り返る

    View Slide

  17. TypeScript 2.0
    2016.09
    $ --strictNullChecks
    TypeScriptの10年を振り返る

    View Slide

  18. TypeScript 2.0
    2016.09
    $ --strictNullChecks
    TypeScript 2.1
    2016.12
    $ Mapped Types
    TypeScriptの10年を振り返る

    View Slide

  19. TypeScript 2.0
    2016.09
    $ --strictNullChecks
    TypeScript 2.1
    2016.12
    $ Mapped Types
    TypeScript 2.8
    2018.03
    $ Conditional Types
    TypeScriptの10年を振り返る

    View Slide

  20. TypeScript 2.0
    2016.09
    $ --strictNullChecks
    TypeScript 2.1
    2016.12
    $ Mapped Types
    TypeScript 2.8
    2018.03
    $ Conditional Types
    TypeScriptの10年を振り返る
    TypeScript 3.7
    2019.11
    $ Optional Chaining

    View Slide

  21. TypeScript 4.0
    2020.08
    ! Variadic Tuple Types
    TypeScriptの10年を振り返る

    View Slide

  22. TypeScript 4.0
    2020.08
    TypeScript 4.1
    2020.11
    4 Variadic Tuple Types
    4 Template Literal Types
    TypeScriptの10年を振り返る

    View Slide

  23. TypeScript 4.0
    2020.08
    TypeScript 4.1
    2020.11
    4 Variadic Tuple Types
    4 Template Literal Types
    TypeScriptの10年を振り返る
    TypeScript 4.5
    2021.11
    4 Awaited Type

    View Slide

  24. TypeScript 4.0
    2020.08
    TypeScript 4.1
    2020.11
    4 Variadic Tuple Types
    4 Template Literal Types
    TypeScriptの10年を振り返る
    TypeScript 4.6
    2022.02
    4 TaggedUnionの進化
    TypeScript 4.5
    2021.11
    4 Awaited Type

    View Slide

  25. TypeScript 4.0
    2020.08
    TypeScript 4.1
    2020.11
    4 Variadic Tuple Types
    4 Template Literal Types
    TypeScriptの10年を振り返る
    TypeScript 4.6
    2022.02
    4 TaggedUnionの進化
    TypeScript 4.5
    2021.11
    4 Awaited Type

    View Slide

  26. TypeScript 4.0
    2020.08
    TypeScript 4.1
    2020.11
    4 Variadic Tuple Types
    4 Template Literal Types
    TypeScriptの10年を振り返る
    TypeScript 4.6
    2022.02
    4 TaggedUnionの進化
    TypeScript 4.5
    2021.11
    4 Awaited Type

    View Slide

  27. TypeScript 4.0
    2020.08
    TypeScript 4.1
    2020.11
    4 Variadic Tuple Types
    4 Template Literal Types
    TypeScriptの10年を振り返る
    TypeScript 4.6
    2022.02
    TypeScript 4.8
    2022.08
    4 TaggedUnionの進化
    TypeScript 4.5
    2021.11
    4 Awaited Type

    View Slide

  28. アジェンダ
    ・TypeScriptの10年を振り返る
    ・TypeScriptの今とこれから

    View Slide

  29. アジェンダ
    ・TypeScriptの10年を振り返る
    ・TypeScriptの今とこれから
    v 4.9

    View Slide

  30. アジェンダ
    ・TypeScriptの10年を振り返る
    ・TypeScriptの今とこれから
    v 4.9 v 5.0

    View Slide

  31. TypeScriptの今
    2022.11 TypeScript 4.9リリース!

    View Slide

  32. TypeScriptの今
    2022.11 TypeScript 4.9リリース!
    satisfiesオペレーター

    View Slide

  33. TypeScriptの今
    2022.11 TypeScript 4.9リリース!
    satisfiesオペレーター
    P 何が嬉しいの...?

    View Slide

  34. TypeScriptの今
    2022.11 TypeScript 4.9リリース!
    satisfiesオペレーター
    P 何が嬉しいの...?
    P 型注釈じゃだめなの...?

    View Slide

  35. 型注釈したら....。
    ️ 型チェック
    TypeScriptの今

    View Slide

  36. 型注釈したら....。
    型推論
    ️ 型チェック
    TypeScriptの今

    View Slide

  37. 型注釈したら....。
    型注釈しなかったら...。
    型推論
    ️ 型チェック
    型推論
    ️ 型チェック
    TypeScriptの今

    View Slide

  38. TypeScriptの今
    うーん...

    View Slide

  39. TypeScriptの今
    satisfies

    View Slide

  40. TypeScriptの今
    satisfiesなら...両立できる!!
    ️ 型推論
    ️ 型チェック

    View Slide

  41. TypeScriptの今
    satisfiesなら...両立できる!!
    ️ 型推論
    ️ 型チェック
    ️ Widening防止

    View Slide

  42. TypeScriptのこれから
    2023.03 TypeScript 5.0 リリース(?)
    ・デコレータの実装
    ・バンドラ系のサポートが充実
    ・軽くなった!
    ・その他いろいろ...

    View Slide

  43. TypeScriptのこれから
    2023.03 TypeScript 5.0 リリース(?)
    ・デコレータの実装
    ・バンドラ系のサポートが充実
    ・軽くなった!
    ・その他いろいろ...
    今日RCリリースされた!

    View Slide

  44. さいごに
    これからの10年もTypeScriptの進化が楽しみ!!

    View Slide

  45. 映画デートで出会える

    恋活・婚活マッチングアプリ

    View Slide

  46. ご静聴ありがとうございました

    View Slide