アプリ文言のパースで学ぶ文字列Literal型パズル入門

カミナシ堂

LT

17:20 ~ 17:50

TypeScriptは非常に強力な型推論機能をもっており、特にinferやconditional types、再帰型などの構文はほかの言語でも珍しい強力な機能です。また数値や文字列のリテラル型に対して、これらの強力な型推論機能を使えば「疑似的なパース処理」や「型に計算機能を持たせる」といったことまで出来ることはTypeScriptのファンの中では知られています。 一方で、このような機能や知見はもっぱらtype-challengesなどのいわゆる「型パズル」への解法として紹介されることが多く、普段業務でのみTypeScriptを利用される方などになじみ深いとは言えません。 そこでこのLTは、前述したような複雑な型推論機能を利用していなかった人に向けて、身近な例から興味を持ってもらい、TypeScriptの複雑で強力な推論機能理解へのあしがかりになることをゴールとします。 具体的には「アプリの文言管理」というなるべく一般的な題材をスタート地点としつつ、文字列リテラル型に対しての解析を「conditional types,infer,再帰型」の3つを理解することで可能になるという話を行います。

sajikix_image
Saji

サイボウズ株式会社 / フロントエンドエンジニア

サイボウズのフロントエンドエンジニア。 業務ではフロントエンド刷新を中心とした製品チームへのフロントエンド技術支援や社内外への技術発信を行っている。フロントエンド領域でも特にJavaScriptの仕様自体や国際化機能・構文解析などに興味がある。

https://sajiki.dev/
github_linktwitter_link