TypeScript のスニペット集
このページは、TypeScript のスニペットなどをまとめる予定のページです。
目次
注意
- コードのライセンスは CC0 (クレジット表示不要、改変可、商用可) です。
- 主にブラウザ上で使用する JavaScript のスニペットは JavaScript のスニペット集、Node.js で使用するスニペットは Node.js のスニペット集 を参照してください。このページでは主に TypeScript 特有のスニペットを記載する予定です。
スニペット
window に対するプロパティの追加
interface Window {
foo: number;
}
declare global {
interface Window {
foo: number;
}
}
window.foo = 1;
任意の項目を持てるオブジェクトのプロパティ定義
type Item = {
map: { [key: string]: any };
};
const item: Item = { map: { foo: 1, bar: '2' } };
交差型
/** ユーザー型 (画面の入力値を保持する目的) */
type User = {
username: string;
password: string;
};
/** ユーザー型 + エラーメッセージ (エラー表示用) と元の値 (変更表示など用) を保持するための型 */
type UserEx = User & {
error: User,
orig: User,
};
as
const user = {} as User;
const user: User = {};
querySelectorAll() の型の変更
document.querySelectorAll<HTMLElement>('a').forEach(el => {
// console.log(el.dataset);
});
for (let el of [...document.querySelectorAll('a')] as HTMLElement[]) {
// console.log(el.dataset);
}