【typeScript】:typeScript初学笔记(二)

【typeScript】:typeScript初学笔记(二)_第1张图片

本周接着学习typeScript,上一次学习到接口,接口一般首字母大写。

数组

数组的表示方法:

1.「类型 + 方括号」表示法


类型+[] 表示数组

类型+[];

以上例子中,类型是number,这就限制了数组的每一项必须是number类型,并且,使用方法操作数组时的参数也只能是number类型,否则报错。

如果想定义一个字符串数组,那么就应该是这样


类型为字符串的数组i表示法

2.数组泛型表示(Array Generic):


数组泛型

数组泛型+尖括号+<类型>

3.接口表示类数组

4.any表示数组


any表示类数组

any定义数组元素可以是任意类型

函数的类型

js中常见的定义函数的方式有函数声明和函数表达式.

Ts中:函数声明:


函数声明

在《typeScript入门》一书中,有这样一句话:

TypeScript 的类型定义中,=> 用来表示函数的定义,左边是输入类型,需要用括号括起来,右边是输出类型。

这句话对应的函数表达式就是这样的:

函数表达式

我们还也可以使用接口来定义函数的形状, 

函数定义中也使用?定义可选参数,需要注意的是,可选参数必须在必需参数之后。

 参数默认值:

可以给参数设置默认值,当作可选参数看待,一旦设置,就不再受限于可选参数在必需参数之后了。


类型断言:

类型断言就是告诉浏览器,某个变量是什么类型,主要有两种表示方法。

写法一:

<类型>值


写法二:

值 as 类型


泛型(Generics)

上边数组用到了泛型表示,那么泛型是个什么东西呢?

解释:typeScript中文文档中这样介绍:

【typeScript】:typeScript初学笔记(二)_第2张图片

也就是说为了代码的可复用?

泛型是一种创建可复用代码组件的工具。这种组件不只能被一种类型使用,而是能被多种类型复用。

嗯……,这个泛型好像跟前面的any很像哎?莫方,他们肯定有区别,不然搞两个东西干嘛。

往下看,泛型如何使用?

在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。

演示一下就是这样:


【typeScript】:typeScript初学笔记(二)_第3张图片

这个例子中,函数名后加了一个T,表示输入任意类型,输入value:T和输出Array,都是同一类型,这就实现了一个返回一个定长的默认值数组的函数。我们在调用这个函数的时候可以赋值任何类型。

我们在使用泛型的时候,可以一次性定义多个类型参数(多个不同类型的参数)。


【typeScript】:typeScript初学笔记(二)_第4张图片

上面的例子传入两个不同类型的参数(元组),函数返回元组的元素。

元组:

上边提到元组,元组又是什么,看上去就是数组啊?

介绍:数组合并了相同类型的对象,而元组(Tuple)合并了不同类型的对象。

例子:


嗯?这不就是any表示的数组吗?

看看区别在哪里?

any数组:


元组:


你可能感兴趣的:(【typeScript】:typeScript初学笔记(二))