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,
};
相关推荐
柳杉2 分钟前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau4 分钟前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生6 分钟前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
进击的尘埃20 分钟前
AI 代码审查工具链搭建:用 AST 解析 + LLM 实现自动化 Code Review 的前端工程方案
javascript
juejin_cn28 分钟前
[转][译] 从零开始构建 OpenClaw — 第五部分(对话压缩)
javascript
ZengLiangYi2 小时前
并发 401 下的 Token 刷新竞态:一个被低估的 Bug
typescript
willow2 小时前
Promise由浅入深
javascript·promise
董员外2 小时前
LangChain.js 快速上手指南:Tool的使用,给大模型安上了双手
前端·javascript·后端
willow3 小时前
Generator与Iterator
javascript
wuhen_n3 小时前
Pinia状态管理原理:从响应式核心到源码实现
前端·javascript·vue.js