1
Typescriptでは、アサーションをどのようにして非構造化に使用できますか?アサーションを構造の破壊に使用するには?
type StringOrNumber = string | number
const obj = {
foo: 123 as StringOrNumber
}
const { foo } = obj
私はconstのfoo
にnumber
型アサーションを追加するための便利な方法を見つけることができませんでした。 2つの回避策は以下のとおりです。
// A:
const { foo } = obj as { foo: number }
// B:
const { foo: foo2 } = obj
const foo = <number>foo2
最初はその型がネストして複雑にされたときにobj
のタイプを書き換えるための負担となっています。 2番目は奇妙に思える。私は次のような構文を想定しています:
const { <number>foo } = obj
は絶対にネストされた、複雑な破壊から型を主張する私たちを助けることができます。
'const {foo:number} = obj;'? – jonrsharpe
これはうまくいかず、 'foo'の値をとり、変数' number'に代入します –