接口interface

5/18/2024 ts

# 1.接口 定义对象 interface [掌握]

定义对象属性个数 属性名字 属性值的类型

//优点1: 自定义接口对象类型 可以在使用的时候 有属性的提示

// 优点2:如果项目比较大,人员较多,统一管理代码的风格规范

// 优点3:限制其他人 更改对象的属性名和属性个数-预防别人

interface 类型名{
	属性名1:属性值类型,
    属性名2:属性值2类型
}
let user:类型名 = {name:'张麻子',age:20};
1
2
3
4
5

特殊符号

interface 类型名{
	属性名1?:属性值类型,   //属性1可选
}
1
2
3
  • 案例:
// 通过接口自定义 对象的类型 
interface User{
    name?:string,
    age:number
}

let user:User = {name:'xxx',age:44};
console.log(user);
// name可选 不写也行
let user1:User = {age:100}
console.log(user1);

1
2
3
4
5
6
7
8
9
10
11
12
  • 对象数组连用 案例:
// 对象数组连用
interface  User{
    name:string,
    age:number,
    like?:Array<string>
}
let userList:Array<User>= [
    {name:'xxx',age:222,like:['抽烟','喝酒','烫头']},
    {name:'xxx',age:55}
]
console.log(userList);
1
2
3
4
5
6
7
8
9
10
11

#