目录
一、基本使用
二、interface重名、重合
三、任意key
四、interface的?
五、interface的readonly
六、interfacec的接口继承
七、interface定义函数
一、基本使用
interface A {
name: string
age: number
}
let a:A = {
name: "郑建",
age: 100
}
总结:变量a这个对象必须有name和age这两个属性,并且他们的类型分别是string和number, 这都相当与给变量a声明了一个指定的类型A
二、interface重名、重合
interface A {
name: string
age: number
}
interface A {
ikun: string
}
let a:A = {
name: "郑建",
age: 100,
ikun: '娘炮'
}
总结: 定义同名的interface变量它们会重合
三、任意key
interface A {
name: string
age: number
[propName: string]: any // (索引签名) propName这个名字随便起 类型是string 属性值类型是any
}
let a:A = {
name: "郑建", // 这个是必须的(强校验)
age: 100, // 这个是必须的(强校验)
a: 1, // 这个非必须 写的时候也不会有校验
b: 2, // 这个非必须 写的时候也不会有校验
}
总结:有时候我们请求接口返回来的数据我们有时候只需要name和age,其他属性我们有时候需要有时候不需要,但是太多属性了,我又不想定义。
四、interface的?
interface A {
name: string
age?: number
}
let a:A = {
name: "郑建",
age: 100, // 这个属性可选的 不会报错
}
总结:在属性后面加上?表示这个属性可选的,都不会报错
五、interface的readonly
interface A {
readonly id: number
name: string
age: number
}
let a:A = {
id: 1, // id不可修改
name: "郑建",
age: 100,
}
总结:用readonly声明过的 它就不可修改, 通常用于接口返回来的数据id属性,id是不可修改的文章来源:https://www.toymoban.com/news/detail-492912.html
六、interfacec的接口继承
interface A extends b {
name: string
age: number
}
interface B {
ikun: string
}
let a:A = {
name: "郑建",
age: 100,
ikun: '娘炮',
}
总结: 跟重叠差不多, 可以继承多个文章来源地址https://www.toymoban.com/news/detail-492912.html
七、interface定义函数
interface Fn {
(name: string): number[] // 定义了一个参数为string类型,返回为number[]的一个函数
}
const fn: Fn = function(name: string) {
return [1]
}
到了这里,关于TypeScript的interface的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!