typeScript中数组类型定义及应用详解

 更新时间:2023年05月10日 10:40:01   作者:茶茶只知道学习  
相信大家应该都知道ts只允许数组中包括一种数据类型的值,下面这篇文章主要给大家介绍了关于typeScript中数组类型定义及应用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

1.定义数组

1.1 「类型 + 方括号」表示法

最简单的方法是使用「类型 + 方括号」来表示数组:

let list: number[] = [1, 1, 2, 3, 5];

 在这里,定义了一个名为list的数字类型的数组,数组里面的项中不允许出现其他的类型,否则会报错。

1.2 数组泛型

我们也可以使用数组泛型(Array Generic) Array<elemType> 来表示数组:

let list: Array<number> = [1, 1, 2, 3, 5];

关于泛型,后续我会更新,可以在我的主页查看🤭 

1.3 用接口表示数组

接口也可以用来描述数组:

interface NumberArray {
    [index: number]: number;
}
let list: NumberArray = [1, 1, 2, 3, 5];

NumberArray 表示:只要索引的类型是数字时,那么值的类型必须是数字。

虽然接口也可以用来描述数组,但是我们一般不会这么做,因为这种方式比前两种方式复杂多了。

不过有一种情况例外,那就是它常用来表示类数组

1.4 类数组

类数组(Array-like Object)不是数组类型。

类数组,不能用普通的数组的方式来描述,而应该用接口:

function sum(){
    let args: {
        [index: number]: number;
        length: number;
        callee: Function;
    }= arguments;
}

 在这个例子中,我们除了约束当索引的类型是数字时,值的类型必须是数字之外,也约束了它还有 length 和 callee 两个属性。

事实上常用的类数组都有自己的接口定义,如 IArgumentsNodeListHTMLCollection 等:

function sum() {
    let args: IArguments = arguments;
}

 其中 IArguments 是 TypeScript 中定义好了的类型,它实际上就是:

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

关于内置对象,我后期会更新哟~

2. any 在数组中的应用 

一个比较常见的做法是,用 any 表示数组中允许出现任意类型:

let list: any[] = [
    'xcatliu',
     25, 
    { 
        website: 'http://xcatliu.com' 
    }
];

总结

到此这篇关于typeScript中数组类型定义及应用的文章就介绍到这了,更多相关typeScript数组类型应用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 从表单校验看JavaScript策略模式的使用详解

    从表单校验看JavaScript策略模式的使用详解

    这篇文章主要介绍了从表单校验看JavaScript策略模式的使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Javascript小技能总结(推荐)

    Javascript小技能总结(推荐)

    本文是小编日常收集整理的有个js中的一些小技能,非常实用,值得推荐给大家,感兴趣的朋友快来收藏吧
    2016-06-06
  • JavaScript实现动画打开半透明提示层的方法

    JavaScript实现动画打开半透明提示层的方法

    这篇文章主要介绍了JavaScript实现动画打开半透明提示层的方法,涉及javascript操作DOM的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Javascript让DEDECMS告别手写Tag

    Javascript让DEDECMS告别手写Tag

    dedecms在编辑修改内容时,TAG标签需要手动输,中文的Tag, 中间还得用半角字符','分隔, 输入法切来切去很不方便, 于是动手改后台代码, 利用后台的tags_main.php, 让dedecms添加内容时能去tags_main里去选择.
    2014-09-09
  • JS截取字符串的方法详解

    JS截取字符串的方法详解

    本文详细讲解了JS截取字符串的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • JavaScript localStorage使用教程详解

    JavaScript localStorage使用教程详解

    JavaScriptlocalStorage基本上是浏览器Window对象中的存储,您可以在中存储任何内容localStorage,localStorage及其相关的sessionStorage是 Web Storage API的一部分,我们将在本文详细了解这些,需要的朋友可以参考下
    2023-06-06
  • javascript中兼容主流浏览器的动态生成iframe方法

    javascript中兼容主流浏览器的动态生成iframe方法

    这篇文章主要介绍了javascript中兼容主流浏览器的动态生成iframe方法,需要的朋友可以参考下
    2014-05-05
  • JavaScript链式调用原理与实现方法详解

    JavaScript链式调用原理与实现方法详解

    这篇文章主要介绍了JavaScript链式调用,结合实例形式详细分析了JavaScript链式调用基本原理、实现方法与相关操作注意事项,需要的朋友可以参考下
    2020-05-05
  • JS script脚本中async和defer区别详解

    JS script脚本中async和defer区别详解

    这篇文章主要介绍了JS script脚本中async和defer区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • 浅谈JS的基础类型与引用类型

    浅谈JS的基础类型与引用类型

    下面小编就为大家带来一篇浅谈JS的基础类型与引用类型。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09

最新评论