TypeScript系列 4.数组类型

本系列知识部分基于小满 ZS 的TypeScript 系列教程。我也会补充一些视频没有的内容。

数组类型#

1. 基本类型#

let arr: number[] = [1, 2, 3];
let arr1: boolean[] = [true, true, false];

//使用泛型
let arr2: Array<boolean> = [true, true, false];

2. 对象类型#

interface Student {
    name: string;
}
let arr: Student[] = [{ name: "张三" }, { name: "李四" }];

//使用泛型
let arr1: Array<Student> = [{ name: "张三" }, { name: "李四" }];

3. 二维数组#

let arr1: number[][] = [
    [1, 2, 3],
    [4, 5, 6],
];

//使用泛型
let arr2: Array<Array<number>> = [
    [1, 2, 3],
    [4, 5, 6],
];

4. 任意类型#

let arr8: any[] = [1, "sss", {}]

5. 混合类型数组#

使用元组定义混合类型

let arr9: [number, string, {}] = [1, "sss", {}]

6. 函数剩余参数#

函数剩余参数,也是可以被约束类型的。

//计算传入数值的和
function sum(...args: number[]) {
    return args.reduce((pre, cur) => {
        return pre + cur;
    });
}

7. arguments#

在ES6之前,是没有剩余参数的,可以使用arguments,获取全部参数(ES6之后依然有效)。

ts中为arguments提供了一个接口叫IArguments,可以使用这个接口来引用arguments

function fn(...args: any[]) {
    let a: IArguments = arguments;
}

模拟IArguments#

IArguments 可替换为下面的接口,主要就是callee、length和索引签名

interface A {
    callee: Function;
    length: number;
    [index: number]: any;
}

作者:sq800

出处:https://www.cnblogs.com/sq800/p/17549162.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   sq800  阅读(84)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2021-07-12 二叉树的先序遍历、中序遍历、后序遍历-C语言描述
more_horiz
keyboard_arrow_up light_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示