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,
};
相关推荐
不写八个3 小时前
Vue3.0教程004:ref和reactive对比
前端·javascript·vue.js
梅羽落5 小时前
JavaScript_03 超简计算器
前端·javascript
ChinaRainbowSea5 小时前
四.4 Redis 五大数据类型/结构的详细说明/详细使用( zset 有序集合数据类型详解和使用)
java·javascript·数据库·redis·后端·nosql
Future_yzx6 小时前
算法基础学习——快排与归并(附带java模版)
学习·算法·排序算法
Easonmax7 小时前
【javaSE】内部类(来自类和对象的补充)
开发语言·javascript·ecmascript
三次拒绝王俊凯8 小时前
记忆力训练day08
学习
新青年.9 小时前
【uniapp】uniapp使用java线程池
javascript·uni-app
答题卡上的情书9 小时前
uniapp版本升级
前端·javascript·uni-app
枫叶丹49 小时前
【HarmonyOS之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(三)
开发语言·前端·javascript·华为·harmonyos
英国翰思教育10 小时前
留学毕业论文如何利用不同问题设计问卷
人工智能·深度学习·学习·算法·学习方法·论文笔记