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,
};
相关推荐
●VON27 分钟前
使用 Electron 构建天气桌面小工具:调用公开 API 实现跨平台实时天气查询V1.0.0
前端·javascript·electron·openharmony
心随雨下29 分钟前
TypeScript泛型开发常见错误解析
java·开发语言·typescript
写点什么呢43 分钟前
使用PE安装Win10系统
学习
('-')1 小时前
《从根上理解MySQL是怎样运行的》第十二章学习笔记
笔记·学习·mysql
穷人小水滴1 小时前
使用 epub 在手机快乐阅读
javascript·deno·科幻
摆烂积极分子2 小时前
安卓开发学习-安卓版本
android·学习
爱学习的程序媛3 小时前
《深入浅出Node.js》核心知识点梳理
javascript·node.js
2***s6724 小时前
【Go】Go语言基础学习(Go安装配置、基础语法)
服务器·学习·golang
Robet4 小时前
TS和JS成员变量修饰符
javascript·typescript
方法重载4 小时前
前端性能优化之“代码分割与懒加载”)
javascript