概要
2つのInterfaceを継承したInterface Cを型に持った変数から、
継承元のInterface Aのプロパティのみを抽出したいです。
単純化したサンプルを用意しました。
理想としては最後のconsole.logのタイミングで
typescript
1{ 2 "base": "base", 3 "A": "a" 4}
となっていてほしいです。
サンプル
Typescript
1interface base { 2 base: string 3} 4 5interface A extends base { 6 A: string 7} 8 9interface B extends base { 10 B: string 11} 12 13interface C extends A, B {} 14 15// 型CはA,Bを継承しているので全て設定出来る 16const c: C = { 17 base: 'base', 18 A: 'a', 19 B: 'b', 20} 21 22// result: A なので { B: 'b' }は入ってほしくないが入ってしまう。 23const result: A = { ...c } 24console.log(JSON.stringify(result, null, 2)) 25/* 26{ 27 "base": "base", 28 "A": "a", 29 "B": "b" 30} 31*/
回答2件
あなたの回答
tips
プレビュー