前提・実現したいこと
TypeScriptの型の使い方について質問です。
2つのオブジェクトがあり、それぞれキー名は異なるが同じ型のフィールドを持っています。
片方のフィールドの値をもう片方に代入する関数を書こうと思ったのですが、型の同一性が指定できず、anyで握りつぶす以外のやり方が思いつきませんでした。
anyを使わずに解決できる方法はありませんでしょうか。
該当のソースコード
TypeScript
1const o1 = { 2 age: 23, 3 name: "hoge" 4} 5 6const o2 = { 7 AGE: 31, 8 NAME: "foo" 9} 10 11function set1to2(key1: keyof typeof o1, key2: keyof typeof o2): void { 12 o1[key1] = o2[key2] as any; 13} 14 15set2to1("age", "AGE"); 16set2to1("name", "NAME");
補足情報(FW/ツールのバージョンなど)
TypeScript3.5.1
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。