🌊
typescriptで特定の値だけを引数に取りたいとき
例えば、クッキーを管理するためにセットできるキーを絞りたいようなとき
const cookieKeywords = {
hoge: 'hoge',
fuga: 'fuga'
} as const
const keywords = Object.values(cookieKeywords)
type CookieKeywords = typeof keywords[number]
こういう感じで準備しておいて
このキーを使う側の関数を↓のような感じで定義して
const setCookie = (key: CookieKeywords, value: string) => {
...
}
こうしておけば意図しないkeyがセットされるのを防げる
関数を使う側は
setCookie(cookieKeywords.hoge)
みたいな感じで使えば文字列タイプもしなくて多少楽
Discussion