Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TypeScriptに興味を持って欲しいスライド
Search
koz
December 24, 2020
Technology
0
260
TypeScriptに興味を持って欲しいスライド
https://easy2.connpass.com/event/197872/
TypeScriptはいいぞっていう気持ちを伝えるための資料。
元々は社内向けだったものを、社外向けにリメイクした。
koz
December 24, 2020
Tweet
Share
More Decks by koz
See All by koz
3分でわかる WebRTCのP2P通信
koz
0
81
Angularの雰囲気を伝えたい
koz
0
61
Other Decks in Technology
See All in Technology
M&Aで拡大し続けるGENDAのデータ活用を促すためのDatabricks権限管理 / AEON TECH HUB #22
genda
0
220
モダンデータスタックの理想と現実の間で~1.3億人Vポイントデータ基盤の現在地とこれから~
taromatsui_cccmkhd
1
250
Snowflake導入から1年、LayerXのデータ活用の現在 / One Year into Snowflake: How LayerX Uses Data Today
civitaspo
0
2.2k
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
2
190
Amazon Connect アップデート! AIエージェントにMCPツールを設定してみた!
ysuzuki
0
130
障害対応訓練、その前に
coconala_engineer
0
180
「もしもデータ基盤開発で『強くてニューゲーム』ができたなら今の僕はどんなデータ基盤を作っただろう」
aeonpeople
0
220
【U/Day Tokyo 2025】Cygames流 最新スマートフォンゲームの技術設計 〜『Shadowverse: Worlds Beyond』におけるアーキテクチャ再設計の挑戦~
cygames
PRO
2
1.4k
20251218_AIを活用した開発生産性向上の全社的な取り組みの進め方について / How to proceed with company-wide initiatives to improve development productivity using AI
yayoi_dd
0
620
Bedrock AgentCore Evaluationsで学ぶLLM as a judge入門
shichijoyuhi
1
160
たまに起きる外部サービスの障害に備えたり備えなかったりする話
egmc
0
390
Amazon Quick Suite で始める手軽な AI エージェント
shimy
1
1.6k
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
KATA
mclloyd
PRO
33
15k
30 Presentation Tips
portentint
PRO
1
170
It's Worth the Effort
3n
187
29k
Exploring anti-patterns in Rails
aemeredith
2
200
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.4k
The Curse of the Amulet
leimatthew05
0
4.6k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
150
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
190
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Transcript
TypeScriptはいいぞ (TypeScriptはいいぞ)
https://www.itmedia.co.jp/news/articles/2012/07/news146.html
こんな人たちに届いて欲しい JavaScriptを知っているけど、TypeScriptは良くわかってない TypeScriptを聞いたことある人 サーバーサイドメインでフロントあんまり興味ない人
自己紹介
koz (こじ/こず) @kozzzzz4 TOPGATE - 普段はフロント側 - Angular頑張ってます - サクナヒメ(?)やってます
None
こんな経験ありませんか?
Uncaught ReferenceError: hoge is not defined
Uncaught TypeError: Cannot read property 'fuga' of undefined
Uncaught ReferenceError: hoge is not defined
TypeScriptって何?
JavaScript 型
完全に理解した! やったね!
TypeScriptはあなたを救います
救われる3つの内容 • 型安全性 (バグが減らせる) • 開発効率が上がる • 開発のアプローチが変わる
型安全性 型安全性とは、型検査によって不正なプログラムが混入するのを防ぐこと。 つまり、「型安全性 ≒ バグが減る」。
開発効率が上がる IDEによるコード補完が効きます。 これもTypeScriptを使用することによる恩恵です。 つまらないタイプミスとはおさらばです。
アプローチが変わる 型を考える→ロジックを組む。 JavaScriptを使用していた時ではありえませんでした。 型を意識してコードを書くので、無理やりなコードは産まれにくいです。
全然難しくない型
(最初は)難しい型は使う必要無し type Pick<T, K extends keyof T> = { [P
in K]: T[P]; };
引数の型と戻り値を書くだけ function sum(a: number, b: number): number { return a
+ b; }
インターフェースを定義するだけ interface Person { name: string; age: number; married: boolean;
} const person: Person = { name: 'xxx', age: 20, married: false };
ね?簡単でしょう?
これだけは守って欲しい
非any三原則 ※非any三原則(ひanyさんげんそく)とは、「 anyをもたない、つくらない、もちこまない」という三つの原則からな る、日本の国是。[要出典]
anyを指定した例 const a: any = 1; const b: any =
'b'; // コンパイラさんが仕事を放棄 const c = a * b;
any = コンパイラがエラーをだす仕事を放棄する anyは我々を救わない anyは危険 anyは闇の魔術 メーデー!メーデー!
闇の魔術に対する防衛術
ソースコードの平和を守ろう // tsconfig.json { "compilerOptions": { "strict": true, } }
tsconfig.jsonとは TypeScriptを使用したプロジェクトのルートディレクトリに配置されてるやつ。 コンパイルオプションなどを設定できる。 先ほどの例では、コンパイルオプションで”strict: true”を指定している。 { "compilerOptions": { "strict": true,
}
strict: true ? “strict: true”は複数のコンパイルオプションが設定される。 特に”noImplicitAny”がまじエクスペクトパトローナム。
noImplicitAny ? 暗黙的なanyの混入を防いでくれる。 明示的にanyしているのを発見したら、レビューで弾こう!
因みにAngularでやるなら Strict Modeが用意されてます。 ng new [project-name] --stricta Angular用のコンパイルオプションも有効化されます。
完全に興味が湧いた後は?
まずは触ってみよう! https://www.typescriptlang.org/play
調べてみよう! • 公式サイト(https://www.typescriptlang.org/) • TypeScript Deep Dive(https://basarat.gitbook.io/typescript/) • サバイバルTypeScript(https://book.yyts.org/) •
TypeScriptの型入門(https://qiita.com/uhyo/items/e2fdef2d3236b9bfe74a)
書籍で学ぼう! https://www.oreilly.co.jp/books/9784873119045/
おしまい。