Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
5分でTypeScript入門!〜既存JS環境に引導を渡そう〜
Search
nsym-m
April 23, 2021
Programming
0
34
5分でTypeScript入門!〜既存JS環境に引導を渡そう〜
TypeScriptあんまり触ったことないですが、TS入門のLT資料を作ってみました。
nsym-m
April 23, 2021
Tweet
Share
More Decks by nsym-m
See All by nsym-m
Flutter入門してみた
nsym
0
110
O’ReillyでGo言語入門
nsym
0
120
Other Decks in Programming
See All in Programming
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
590
はじめてのMaterial3 Expressive
ym223
2
380
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
370
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
1.2k
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
540
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
130
FindyにおけるTakumi活用と脆弱性管理のこれから
rvirus0817
0
510
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
300
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
6
2.5k
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
170
Android 16 × Jetpack Composeで縦書きテキストエディタを作ろう / Vertical Text Editor with Compose on Android 16
cc4966
1
220
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
120
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
4 Signs Your Business is Dying
shpigford
184
22k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Site-Speed That Sticks
csswizardry
10
810
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
840
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Statistics for Hackers
jakevdp
799
220k
Transcript
5分でTypeScript入門! 〜既存JS環境に引導を渡そう〜
TypeScriptとは? • JavaScriptの静的型付け版の言語 • Microsoftがオープンソースで開発している • Googleでも社内標準言語として利用されている • TypeScriptをJavaScriptにコンパイルして実行する
なぜTypeScript? • 型が保証されている(型推論も使える) • 型があることで改修時のバグ発生率が下がり保守性の向上 • 型を書けるので気持ちがいい(Developer eXperience) • エディタの入力補完を受けられることで開発効率の向上
• 型チェックの厳しさをプロジェクトごと決められる ◦ → 導入障壁が低い!!!
TypeScriptを導入してみよう 弊社のお掃除ロボットるんばちゃんの状況をリアルタイムで知らせる「る んばちゃんbot」のチャットを投稿しているJavaScriptのプログラムに TypeScriptを導入してみようと思います。
ざっくり手順 1. typescriptのinstallとtsconfig.jsonの作成 2. tsconfig.jsonの設定を緩めに指定 3. ファイルの拡張子を .js → .ts
に変更する 4. コンパイルエラーを修正する とっても簡単!!!!(?)
typescriptのinstallと tsconfig.jsonの作成 • typescriptはTypeScriptのコンパイラのモジュール • tsconfig.jsonはTypeScriptコンパイルの設定ファイル
tsconfig.jsonの設定を緩めに指定① • 最初は型チェックに関する設定を緩めにする
tsconfig.jsonの設定を緩めに指定② ☆ポイント • 優先すべきは「TypeScript」導入を完了させること ◦ 「厳密な型を使う」のはあとからでも追加できる • any型を許容する(大事) • 型を緩くしていてもJavaScriptよりも堅い型チェックやエディタによる
補完などのサポートを受けられる
ファイル拡張子を.js → .tsに変更 • `rename`コマンドは追加する必要あり(Mac) • Linuxの`rename`コマンドとは若干違うらしい(未検証) • Windowsの場合は`ren`コマンドが使えそう?(未検証)
コンパイルエラーを修正①
コンパイルエラーを修正② • プロパティを定義していない状態でオブジェクトを作成していたの で、オブジェクト定義の時にプロパティも同時に定義する • ついでに「type」でオブジェクトの型も定義する(必須ではない)
コンパイルエラーを修正③
エラーが出なければOK!! これであなたもTypeScripterの仲間入り!! いざ、ビルド!
ご清聴ありがとうございました。 良いTypeScriptライフを!!!! 参考記事: https://eh-career.com/engineerhub/entry/2019/04/16/103000 https://tech.raksul.com/2019/07/22/introduce-typescript-to-existing-product/ https://komiyak.hatenablog.jp/entry/20170421/1492752232