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,
};
相关推荐
北极糊的狐1 小时前
Vue 的响应式机制未生效——v-model 绑定的冰淇淋输入框值不更新
前端·javascript·vue.js
Dashingl1 小时前
uni-app AES 加密
android·javascript·uni-app
Wallace Zhang1 小时前
STM32F103_LL库+寄存器学习笔记06 - 梳理串口与串行发送“Hello,World“
笔记·stm32·学习
计算机毕设定制辅导-无忧学长1 小时前
从入门到精通:HTML 项目实战中的学习进度(一)
前端·学习·html
DataGear1 小时前
DataGear 企业版 1.4.0 发布,数据可视化分析平台
javascript·信息可视化·数据分析·html·echarts·数据可视化
Lonwayne3 小时前
当编程语言有了人格
java·javascript·c++·python·php
一味做笔记3 小时前
C语言学习笔记(抱佛脚版)
笔记·学习
qq_589568103 小时前
java学习笔记——多线程
java·笔记·学习·intellij-idea
Warolitbos3 小时前
Redis学习笔记
redis·笔记·学习
拉不动的猪3 小时前
刷刷题46(常见的三种js继承类型及其优缺点)
前端·javascript·面试