2021/01/10
プログラミング言語その4【TypeScript】

モバイルアプリをネイティヴからハイブリッドへリプレイスするけどジャヴァスクリプトもうギヴアップってわけ。

そんな気分がありつつ、TypeScript勉強して楽しくなってたから提案というか「選定の無念を晴らす!」という感じでやることにした。当時の自分の周辺ではJSではgulpを使っていて、ちょうどTS公式のドキュメントにもgulp設定が書いてあったりして、さくっと始められた。(あれ、今もgulpでのstart guideあるのね。)プロジェクトの参加メンバーが変わったり増えたりで想定しない状況になったものの「困ったらanyって書いとけばいいからね」で押し切ることにした。

型に守られた世界の住人が自分たちの常識を持ち込んで書く場合だと、そりゃ型無いと無理でしょ、ということに当然なるわけだけど、いわゆるフロントエンドの世界の人たちにはどう見えてたのかなあ。人間というよりフレームワークが型世界に出自を持ってそうな界隈、具体的にはAngularやってる人たちは、フレームワーク都合というより一般論としてTypeScriptに歓迎モードだった印象がある(要出典1)。普通に考えて、型が有効なユースケースを日常的にたくさん見てたからだろうね。それ以外は全体として、既存コードやライブラリとの相性や、たぶん、人間の教育の問題もあり、推進というよりは「焦らずやっていきましょうね」ぐらいの雰囲気で、その雰囲気の幅の広さから、例えばnoImplicitAnyの是非やGradual Typingの加減を火種にときどきボヤとか炎上とか(要出典2)。Twitterで何を見てるかに依存した偏見によると、2020年は平和だった感じがある。ライブラリと人間の世代交代が進んだのかもしれない(要出典3)。なんか、若者すぐ&まずTypeScriptやってるよね(要出典4)。

さて、こういうどうでもいい偏見の詳細は無視しつつも「世の中ちょっと変わってきたね」が正しいとして、表面的でない変化にはどういうものがあったんだろうね。JavaScriptの柔軟さに合わせて型付けを頑張れるようにするために導入されたいろんな機能があるけど、随分と前から入っているString Literal Typeがいちばん革命的でwebに本質的なものなんじゃないかって最近思うようになってきた。これはもちろんよく考えられた上での結論ではなく、ビビビッときただけ。httpもhtmlもテキスト中心の世界じゃん?そこで文字列に型付けるとかマジ幸せじゃん?ぐらいのノリで、FirebaseのAPI Reference(例えばAnalytics)を見たり、アプリケーションレイヤーでのRoutingに型を付けようとする試みを見てたら、そういう感覚が芽生えてきた。要するに、好き。

型ピ。

日付
タイトル

2026/03/14
読んだ本〜2026冬
2026/03/05
聴いてるポッドキャスト
2026/01/30
レンダリング?
2026/01/27
Live
2026/01/26
レンダリング!
2026/01/13
2025年まとめ
2025/09/23
読んだ本〜2025夏
2024/07/24
健康er
2024/02/10
健康
2023/05/19
喪/2
2023/04/24
コンサル
2023/02/01
それはそう
2022/12/17
2022/06/11
動かないもの
2022/06/05
スタイル
2022/04/23
JSX as data
2022/04/08
数学
2021/12/18
Activeな話
2021/09/05
Goのmultiple ABI
2021/07/31
『Goならわかるシステムプログラミング』
2021/07/28
ここにはタイトルが入ります
2021/01/25
これは日記ではない
2021/01/24
修行
2021/01/23
Considered Harmful
2021/01/22
雑感オブSwing
2021/01/21
雑感オブAndroid
2021/01/20
雑感オブiOS
2021/01/19
プログラミング言語その9【Groovy】
2021/01/18
1回休み
2021/01/17
会社を作る
2021/01/16
外国語
2021/01/15
プログラミング言語その8【C】
2021/01/14
プログラミング言語その7【OCaml】
2021/01/13
to be continued
2021/01/12
プログラミング言語その6【Kotlin】
2021/01/11
プログラミング言語その5【Swift】
2021/01/10
プログラミング言語その4【TypeScript】
2021/01/09
プログラミング言語その3【JavaScript】
2021/01/08
Comme d'habitude
2021/01/07
プログラミング言語その2【Java】
2021/01/06
プログラミング以前【Lisp】
2021/01/05
プログラミング言語その1【Objective-C】
2021/01/04
言語処理系入門
2021/01/03
ブログのようなもの
2021/01/02
Next.jsとPHPと私
2021/01/01
新年