ts重点学习47-接口与类型别名得异同笔记

export default {}
/*
1.相同点:
- 都可以描述属性或方法
- 都允许拓展
2.不同点:
- type可以声明基本数据类型,联合类型,数组等; interface只能声明变量
- 当出现使用type和interface声明同名的数据时;type会直接报错;interface会进行组合
- type不会自动合并;interface会
*/
// 相同点
// 1.都可以描述属性或者方法
type womenStar = {
name: string
age: number
perform(): any
}
interface IWStar {
name: string
age: number
perform(): any
}
let star1:womenStar = {
name: "邱淑贞",
age: 18,
perform(){
return "倚天屠龙记"
}
}
let star2: IWStar = {
name: "李一桐",
age: 18,
perform() {
return "射雕英雄传"
}
}
// 2.都允许扩展
type money = {
y1: number
}
type money2 = money & {
y2: number
}
let salary:money2 = {
y1: 10,
y2: 20
}
interface Istar1 {
name: string
}
interface Istar2 extends Istar1 {
age: number
}
let starInfo: Istar2 = {
name: "邱淑贞",
age: 18
}
// 不同点
// 1.type 可以声明基本数据类型 ,联合类型 ,数组等等
// interface只可以声明对象
type age = number;
type info = string | number | boolean;
type beautyList = [string | number];
// interface Iage = number;
// interface Iage {
// }
// 2.type不会进行合并
// interface会进行合并
// type mygoddessName = {
// name: string
// }
// type mygoddessName = {
// age: number
// }
interface ImygoddessName{
name: string
}
interface ImygoddessName{
age: number
}
let goddess: ImygoddessName = {
name: "邱淑贞",
age: 18

posted @   前端导师歌谣  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示