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,
};
相关推荐
刘 怼怼13 分钟前
【520 特辑】用 HTML/CSS/JavaScript 打造浪漫炫酷的表白网页
javascript·css·html
向上的车轮16 分钟前
MATLAB学习笔记(六):MATLAB数学建模
学习·数学建模·matlab·数学软件
知识点集锦28 分钟前
4-5月份,思科,华为,微软,个别考试战报分享
网络·学习·安全·华为·云计算
Thinbug30 分钟前
UE(虚幻)学习(六)插件打包在UE5.3.2下Value cannot be null的错误
学习·ue5·虚幻
云隙阳光i40 分钟前
Vue3 中使用 provide/inject 实现跨层级组件传值失败的原因及解决方案
前端·javascript·vue.js
资深前端之路1 小时前
vue+three.js 五彩烟花效果封装+加载字体
前端·javascript·vue.js
独行soc2 小时前
2025年渗透测试面试题总结-华顺信安[实习]安全服务工程师(题目+回答)
运维·开发语言·学习·安全·面试·渗透测试·php
拾2142 小时前
matlab慕课学习3.4
学习
请你喝好果汁6412 小时前
单细胞转录组(4)Cell Ranger
学习
vijaycc2 小时前
python学习打卡day31
学习