我的打字稿代码库中有一堆这样的代码......
export interface SomeType {
name: string;
}
export interface SomeComposedType {
things: [SomeType];
}
Run Code Online (Sandbox Code Playgroud)
这一直工作正常,但后来我开始遇到问题
类型中缺少属性“0”
和
“SomeType[]”类型的参数不可分配给“[SomeType]”类型的参数
我现在真的很困惑这个。我很确定
let x:SomeType[] = []
Run Code Online (Sandbox Code Playgroud)
相当于
let x: Array<SomeType> = []
Run Code Online (Sandbox Code Playgroud)
但是
let x:[SomeType] = []
Run Code Online (Sandbox Code Playgroud)
也等价和正确?
小智 6
否,let x: [SomeType]表示 x 是一个包含 1 个元素的数组,并且该元素的类型为SomeType
如果您需要声明一个包含SomeType仅使用您提到的两种形式之一的元素的数组,SomeType[]或者Array<SomeType>
| 归档时间: |
|
| 查看次数: |
2459 次 |
| 最近记录: |