TypeSript2 接口类型interface

接口对象的类型

typescript中,我们定义对象的方式要用关键字interface (接口),我的理解是使用interface来定义一种约束,让数据的结构满足约束的格式。

主要是以下特性

interface接口类型 常用于定义对象 比较两个对象形状是否一致

1.对比形状

//这样写是会报错的 因为我们在person定义了a,b但是对象里面缺少b属性

//使用接口约束的时候不能多一个属性也不能少一个属性

//必须与接口保持一致

interface Person {

b:string,

a:string

}

const person:Person = {

a:"213"

}

2. 重合

interface face1 {

name: string;

}

interface face1 {

age: number;

}

let a1: face1 = {

name: "xx",

age: 20,

}

3. 任意key 索引签名[propName: string]: any; 不确定后端会传是什么类型 最好使用any

interface face1 {

name: string;

propName: string\]: any; } let a5: face1 = { name: "xx", age: 20, c: 123, };

3 ? readeOnly ?是可选的后端可能不传这个值 readeOnly是只读不能改常用于后端的id 及函数

interface face1 {

name: string;

age?: number;

readonly id:number

readonly cb:()=>boolean

}

let a1: face1 = {

id:1,

name: "xx",

cb:()=>{

return false

}

}

a1.cb=()=>{ // 函数被修改了 不期望被修改

return true

}

4 接口继承 extends

interface face1 extends face2 {

name: string;

}

interface face2 {

age: number;

}

let a1: face1 = {

name: "xx",

age: 20,

};

5 接口定义函数类型

interface Person {

b?: string,

readonly a: string,

propName: string\]: any; cb:()=\>void } const person: Person = { a: "213", c: "123", cb:()=\>{ console.log(123) } }

TypeSript3 数组类型-CSDN博客

相关推荐
idcu5 分钟前
Lyt.js + Vite 快速开发指南
前端·typescript
idcu8 分钟前
深入 Lyt.js 路由系统:L6 生态系统层的核心
前端·typescript
idcu8 分钟前
用 Lyt.js 构建 Todo 应用:完整教程
前端·typescript
阿正的梦工坊2 小时前
【Typescript】13-tsconfig与工程化实践
ubuntu·typescript
idcu15 小时前
深入 Lyt.js 组件系统:L2 渲染引擎层的核心
前端·typescript
阿正的梦工坊18 小时前
【Typescript】08-keyof-typeof-索引访问类型
linux·ubuntu·typescript
小四的小六1 天前
我用什么技术做了TLDR Scholar?
typescript·ai编程
阿正的梦工坊1 天前
【Typescript】06-类型缩小与控制流分析
前端·javascript·typescript
阿正的梦工坊1 天前
【Typescript】03-函数对象与接口
前端·javascript·typescript