TypeScript
教本
https://typescript-jp.gitbook.io/deep-dive/
https://typescriptbook.jp/
TypeScriptでキャストする2つの方法
windowオブジェクトにメソッドやオブジェクトを追加する
https://dev.classmethod.jp/articles/typings-of-window-object/
code:ts
interface Window {
myProp: number
}
理屈はこっち
https://www.typescriptlang.org/docs/handbook/declaration-merging.html#merging-interfaces
インターフェースを分散定義出来るらしく、後付けでオブジェクトを定義している
何処にも書かれてないけど、xxx.d.tsファイルに書かないといけない
とりあえず無理やり型定義エラーを回避する
https://www.wakuwakubank.com/posts/501-typescript-declaration/
code:js
declare var x: number;
x = 30;
console.log(x);
オブジェクトから型を作る
https://typescriptbook.jp/tips/generates-type-from-object
code:ts
const account = {
accountName: "yyts",
password: "ccbyncsa30",
age: 80,
plan: "Standard",
};
type Account = typeof account;
https://typescriptbook.jp/reference/builtin-api/map#mapとオブジェクトの書き方比較
table: 書き方比較
Map オブジェクト
型注釈の書き方 Map<K, V> Record<K, V>
初期化 new Map("a", 1) { a: 1 }
要素のセット map.set(key, value) objkey = value
値の取得 map.get(key) objkey
要素の削除 map.delete(key) delete obj.key
キーの有無確認 map.has(key) key in obj
要素数の取得 map.size Object.keys(obj).length
全要素削除 map.clear() -
キーの列挙 map.keys() Object.keys(obj)
値の列挙 map.values() Object.values(obj)
要素の列挙 map.entries() Object.entries(obj)
複製 new Map(map) { ...obj }