当前位置: 首页 > news >正文

typescript面试题

interface/type的关区别和使用

总结

  1. interface:可扩展,支持声明合并,适合定义对象和函数,支持extends
  2. type: 更灵活,类型别名,但不能重复定义,支持联合/交叉类型

interface:

  1. 只能定义对象结构
interface User {name: string;age: number;
}
  1. 声明合并
interface User {name: string;
}interface User {age: number;
}// 自动合并为:
// interface User { name: string; age: number; }const u: User = { name: 'Tom', age: 20 }; // ✅ 正确
  1. 继承与扩展
interface Person {name: string;
}interface User extends Person {age: number;
}

实现类

// implements type(只要 type 是对象结构)
class User implements UserInterface {// 必须实现 interface 定义的结构
}

type:

  1. 类型别名
type User = {name: string;age: number;
};// 更强大的能力:
type ID = string | number;
type Point = [number, number];
type Callback = (data: string) => void;
  1. 不支持重复定义
  2. 交叉类型
type Person = {name: string;
};type User = Person & {age: number;
};
http://www.rkmt.cn/news/2301.html

相关文章:

  • 答题赚现金程序介绍
  • framework中按压power键屏幕熄灭及亮起时流程
  • 易客云会员系统相关介绍
  • FunctionAI 图像生成:简化从灵感到 API 调用的每一步
  • AQS
  • 一、CPU的功能和基本结构
  • 一个简单美观的文件时间修改器
  • 暗黑类游戏属性系统程序设计思路3.0
  • 完整教程:毕设课题:基于Node.js+Express框架+Mysql数据库的助农农产品销售商城设计与实现
  • 经典的混合加密传输协议—PGP
  • cache redis
  • Java的基本数据类型
  • H5游戏性能优化系列-----配置相关优化
  • Codeforces Round 1049 (Div. 2) E
  • 批量设置Excel样式格式(如:纸张大小,排版,字体等)+ 支持windows系统
  • 张瑜:牛市进程之十大观察指标 - Leone
  • Windows 11 系统优化
  • 碎碎念(十六)
  • RK3588+xenomai3+ethercat搭建
  • 【已解决】git push 问题 send-pack: unexpected disconnect while reading sideband packet
  • Adobe Lightroom Classic 2023 中文破解版:摄影师必备的 RAW 图像处理神器(附安装指南)
  • start.bat
  • 外泌体适配体筛选的 SELEX 技术:5 大核心方法拆解,精准捕捉 “细胞信使”
  • 知识点 AlexNet(2/8)
  • QtCreator问题输出框 MSVC编译出现中文乱码报错
  • Gitee DevOps本土化实践:为中国开发者打造全流程效能引擎
  • macbook pro2012怎么安装windows系统
  • Cloud Foundation Kit启动预加载,赋能喜马拉雅秒启秒开流畅体验
  • 领嵌iLeadE-588网关全新一代Alot高端应用芯片支持二次开发
  • Gitee Wiki:重塑关键领域软件研发的知识管理新范式