FullStackOpen Part9-a TypeScript background and introduction メモ
Main Principle
TypeScriptはJavascriptのスーパーセット。
以下の三つの構成要素からなる
1. The language (文法、キーワード、型注釈)
2. The compiler (Javascriptに変換する機能)
3. The language service (インテリセンス、型ヒント、リファクタリング)
TypeScript key language features
Type annotation
変数や関数の引数にデータ型を付けておく機能。
以下のようなイメージ。
const birthdayGreeter = (name: string, age: number): string => {
return `Happy birthday ${name}, you are now ${age} years old!`;
};
const birthdayHero = "Jane User";
const age = 22;
console.log(birthdayGreeter(birthdayHero, age));
Structual typing
構造的型付けを採用している
分かりやすくChatGPTが説明してくれたので以下を参照
interface Named {
name: string;
}
class Person {
name: string;
constructor(name: string) {
this.name = name;
}
}
let p: Named;
p = new Person("Mike"); // No error: Structural Typing!
Type inference
型が指定されていないものにはTypeScriptが型を推定してくれる。
Type erasure
コンパイルしてJavascriptになったら型情報は失われる
Why should one use TypeScript?
いくつかのメリット
1. 型チェック・静的コード解析により、型ミスやミススペルなどを防げる
2. 型注釈がドキュメントのような役割を果たしてくれる
3. インテリセンスがよりいい提案をしてくれる