在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在 TypeScript 中,数组类型有多种定义方式,比较灵活。 let fibonacci: number[] = [1, 1, 2, 3, 5]; 数组的项中不允许出现其他的类型: let fibonacci: number[] = [1, '1', 2, 3, 5]; // index.ts(1,5): error TS2322: Type '(number | string)[]' is not assignable to type 'number[]'. // Type 'number | string' is not assignable to type 'number'. // Type 'string' is not assignable to type 'number'. 上例中, let fibonacci: number[] = [1, 1, 2, 3, 5]; fibonacci.push('8'); // index.ts(2,16): error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'. 上例中, 接口也可以用来描述数组:
interface NumberArray { [index: number]: number; } let fibonacci: NumberArray = [1, 1, 2, 3, 5];
any 在数组中的应用,一个比较常见的做法是,用 let list: any[] = ['Xcat Liu', 25, { website: 'http://xcatliu.com' }]; 类数组
function sum() { let args: number[] = arguments; } // index.ts(2,7): error TS2322: Type 'IArguments' is not assignable to type 'number[]'. // Property 'push' is missing in type 'IArguments'. 事实上常见的类数组都有自己的接口定义,如 function sum() { let args: IArguments = arguments; } 数组里的元素也可以是接口里定义的 app: Info[] = []; // 这里数组的每一项需要满足{a: number, b: string}这种类型,这里定义app是一个空数组 app = [{a: 1, b: 'b'}] interface info{ // info是一个接口 a: number b: string }
|
请发表评论