TypeScript数组的多种定义方式

本文详细介绍了TypeScript中数组的多种定义方式,包括单一类型、混合类型、泛型、接口以及元组等。通过示例代码展示了如何创建和操作这些类型的数组,同时也提及了类数组的类型定义,如系统内置的IArguments接口和自定义接口的应用。
摘要由CSDN通过智能技术生成

1. 1种类型时

let list1: (number)[] = [1, 2, 3];
list1.push(5);
console.log('list1', list1); // list1 [ 1, 2, 3, 5 ]

2. 多种类型时

let list2: (number | string)[] = [1, 2, 3, '3'];
console.log('list2', list2); // list2 [ 1, 2, 3, '3' ]

3. 泛型的写法

let list3: Array<number> = [1, 2, 3];
console.log('list3', list3); // list3 [ 1, 2, 3 ]

4. 泛型的写法

let list4: Array<number | string> = [1, 2, 3, '4'];
console.log('list4', list4); // list4 [ 1, 2, 3, '4' ]

5. 接口的写法

interface List5 {
  [index: number]: number
}
let list5: List5 = [1, 2, 3, 4, 5];
console.log('list5', list5); // list5 [ 1, 2, 3, 4, 5 ]

6. 接口的写法

interface List6 {
  [index: number]: number | string
}
let list6: List6 = [1, 2, 3, 4, 5, '6'];
console.log('list6', list6); // list6 [ 1, 2, 3, 4, 5, '6' ]

7. 使用元组的方式,定义数组

const list7: [string, number] = ['1', 2];
console.log('list7', list7); // list7 [ '1', 2 ]

8. 类数组的类型,使用系统定义的IArguments

function test() {
  // IArguments:这个是ts内部定义好的interface接口
  /* 
    在IArguments身上按住ctrl + 鼠标左键可以看到:
      interface IArguments {
        [Symbol.iterator](): IterableIterator<any>;
      }
  */
  let args: IArguments = arguments;
}
test();

9. 类数组的类型,使用自定义的接口

interface Args {
  // 方式一:
  // [Symbol.iterator](): IterableIterator<any>;

  // 方式二:
  [index: number]: any;
  length: number;
  callee: Function;
}


function test1() {
  let args: Args = arguments
}
test1();


— 已完结 —

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值