TypeScript如何定义接口(typescript,开发技术)

时间:2024-04-30 15:42:37 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    TypeScript%E5%A6%82%E4%BD%95%E5%AE%9A%E4%B9%89%E6%8E%A5%E5%8F%A3

接口,英文:interface,其作用可以简单的理解为:为我们的代码提供一种约定。

在Typescript中是这么描述的:

TypeScript的核心原则之一是对值所具有的结构进行类型检查。它有时被称做“鸭式辨型法”或“结构性子类型化”。

在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定义契约。

举个例子:

上面的例子我简单说了一下如何定义一个接口和接口的作用,下面我就简单的说一下接口的其他玩法:

带有可选属性的接口与普通的接口定义差不多,只是在可选属性名字定义的后面加一个 ? 符号。

可选属性,我们最常见的使用情况是,不确定这个参数是否会传,或者存在。

在Typescript中是这么描述可选参数的好处的:

可选属性的好处之一是可以对可能存在的属性进行预定义,好处之二是可以捕获引用了不存在的属性时的错误。

说起来这一点,简单总结一下就是:我们可以设置属性是可选的,但是不能传错误的属性。

以上面的 Person 接口为例,如果我们使用时把 age 属性 错误写成了 aag,typescript 会报错,即使 age 属性本身不是必须传的。

这就是额外属性检查。

当然,我们也可以使用 类型断言 绕开这些属性检查,上链接:TypeScript中的类型断言[as语法 | <> 语法]

一些对象属性只能在对象刚刚创建的时候修改其值。 所以我们可以在属性名前用 readonly来指定只读属性 。

说起来,只读属性使用起来的效果和 const 差不多,当然两者根本不是一个东西,我这么说只是为了好理解。

最简单判断该用readonly还是const的方法是看要把它做为变量使用还是做为一个属性。 做为变量使用的话用 const,若做为属性则使用readonly。

函数类型接口:

简单来说,函数类型的接口就是规定了 函数的参数类型以及函数的返回值类型。

注意:

函数参数类型不可更改,包括返回值也必须遵守约束。

函数参数名可以不用和接口中的名字对应,只要求对应参数位置的类型兼容。

可索引类型接口简单来说就是,我们可以规定 索引的类型 和 返回值的类型。

例如:数组中,我们可以规定 以 number 类型的值来索引,索引到的是一个 string 类型的值,这样的话其实这个数组的形式基本就固定了。

Typescript 中支持两种索引签名,其实就是索引类型,分别是:number 和 string。

并且,如果我们使用 number 类型的索引,那么定义的返回值类型 必须是 定义 string 类型索引返回值的子类型。

Typescript 是这么解释这句话的:

当使用 number来索引时,JavaScript会将它转换成string然后再去索引对象。也就是说用 100(一个number)去索引等同于使用"100"(一个string)去索引,因此两者需要保持一致。

其实很简单:

本文:TypeScript如何定义接口的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:微信小程序中数据缓存的方法下一篇:

23 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18