TypeScript 学习 -类型 - 9

声明合并

  • 成员变量合并:成员变量会合并,但类型必须一致。
  • 成员函数合并:如果函数签名不同,合并后的函数会是签名的联合类型。
  • 接口声明顺序:在同一个接口内按顺序合并;不同接口时,后声明的会覆盖前声明的。
  • 函数字面量优先级:如果有函数字面量,它们会优先合并。
ts 复制代码
interface Person {
  name: string;
}

interface Person {
  age: number;
}

interface Person {
  age: string; // 错误: 重复的属性 'age', 类型不兼容
}
ts 复制代码
interface Person {
  greet(name: string): void;
}
interface Person {
  greet(age: number): number; // 错误:类型签名不一致
}
const person: Person = {
  // greet(nameOrAge: string | number) {}, // 错误:类型签名不一致
  greet(nameOrAge: string | number): number {
    return 0;
  },
};
ts 复制代码
interface Person {
  name: string;
}
interface Person {
  age: number;
}
const person: Person = {
  name: 'Alice',
  age: 25,
};
相关推荐
运维技术小记18 小时前
这个 MIT 学生用 AI 学习法两天搞定一门课的方法,颠覆认知!
人工智能·学习
Huangjin007_18 小时前
【C++ STL篇(四)】一文拿捏vector常用接口!
开发语言·c++·学习
M ? A18 小时前
你的 Vue v-for,VuReact 会编译成什么样的 React 代码?
前端·javascript·vue.js·经验分享·react.js·面试·vureact
午安~婉18 小时前
Electron桌面应用(续3)
前端·javascript·electron·重构通用模型·异步可迭代对象
W.A委员会18 小时前
伪类与伪元素
前端·javascript·css
午安~婉18 小时前
Electron桌面应用(续2)
前端·javascript·electron·路由守卫·优化llm返回的内容
渡我白衣18 小时前
触类旁通——迁移学习、多任务学习与元学习
人工智能·深度学习·神经网络·学习·机器学习·迁移学习·caffe
敢敢のwings18 小时前
NVIDIA Isaac GR00T与Cosmos:重塑机器人学习的合成数据革命
学习·机器人
凉、介18 小时前
从设备树到驱动源码:揭秘嵌入式 Linux 中 MMC 子系统的统一与差异
linux·驱动开发·笔记·学习·嵌入式·sd·emmc
Paxon Zhang18 小时前
JavaEE初阶学习web开发的第一步**计算机组成原理,操作系统,进程(基础扫盲)**
java·后端·学习·java-ee