TypeScript学习笔记 -- 接口对象

1.接口对象-对对象的形状(shape)进行描述

2.基本用法: 规定了对象属性的类型

   接口的首字母大写,一般会在接口前面加上大写的I

   定义好的接口使用的时候,其中的属性不可以多也不可以少。

//定义
interface IPerson { name: string, age:number }
//使用
let p:IPerson = {
  name: '小明',
  age: 5
}

3.可选属性:接口中的属性可有可无,使用?定义,但是依然不可以使用接口未定义的属性

//定义
interface IPerson { name: string, age:number,
sex?: string, }
//使用
let p:IPerson = {
  name: '小明',
  age: 5
}

4.任意属性:对于属性名不确认的情况。也就是可以随意创建任意数量的符合任意属性规定的属性

但是定义任意属性后,其他属性必须满足任意属性的规定


//错误
interface IPerson {
 name: string,
age: number,
//这里会报错,由于任意属性定义的属性值为string类型
sex?: string,
[propName: string]: string
}
//定义
interface IPerson {
 name: string,
 sex?: string,
[propName: string]: any }
//使用 let p:IPerson = {   name: '小明',
  width: '',
}

 4.只读属性:只能在创建的时候被赋值,使用readonly定义

interface IPerson {
  name: string,
  readonly id: number       
}
let p:IPerson = {
  name: '小明',
  id: 123,
}
//不可再次赋值,报错
p.id = 321;

 

posted @ 2023-03-09 11:00  迷茫的无信仰者  阅读(50)  评论(0)    收藏  举报