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

轻松建站网站设计 ipad

轻松建站,网站设计 ipad,上海中学官网电脑版,网站如何排版核心结论在大多数情况下#xff0c;它们可以互换使用#xff0c;都能描述对象的结构。它们的区别更多在于设计和扩展能力上。主要区别总结表特性interface (接口)type (类型别名)扩展方式使用 extends 继承interface A extends B {}使用 交叉类型type A B C合并…核心结论在大多数情况下它们可以互换使用都能描述对象的结构。它们的区别更多在于设计和扩展能力上。 主要区别总结表特性interface (接口)type (类型别名)扩展方式使用 extends 继承interface A extends B {}使用  交叉类型type A B C合并声明支持同名接口会自动合并不支持同名类型会报错描述能力主要描述对象形状功能更强可描述任意类型联合、元组、原始类型等实现 (implements)可以被类实现class C implements A {}可以被类实现描述对象时class C implements A {}性能轻微优势在错误信息和性能上早期有细微差别现在可忽略不计可读性更偏向于 OOP面向对象编程风格表示一个“契约”更偏向于 FP函数式编程风格像一个类型表达式 详细解释与示例1. 扩展 (Extending)interface 使用继承更符合传统 OOP 思维。 interface Animal {name: string; }interface Bear extends Animal {honey: boolean; }type 使用交叉类型 ()更像是逻辑运算。 type Animal {name: string; }type Bear Animal {honey: boolean; }2. 声明合并 (Declaration Merging)这是两者最关键的区别。interface支持合并。如果你定义了两个同名的接口TypeScript 会将它们合并为一个。 interface User {name: string; }interface User {age: number; }// 最终 User 接口为{ name: string; age: number; } const user: User { name: John, age: 30 }; // 正确这个特性非常有用尤其是在为第三方库或全局对象如 Window添加自定义属性时。type不支持合并。重复声明同名的类型别名会报错。 type User {name: string; }type User { // Error: Duplicate identifier Userage: number; }3. 描述能力 (Descriptive Capabilities)interface基本上只能用于定义对象的类型结构。 interface Point {x: number;y: number; }type功能更强大可以定义任何类型。 // 联合类型 (Union) type ID string | number;// 元组类型 (Tuple) type PointTuple [number, number];// 原始类型别名 type Name string;// 从其他类型映射 (Mapped Types) type NullableT { [P in keyof T]: T[P] | null }; 最佳实践与如何选择虽然很多时候可以互换但社区形成了一些共识优先使用 interface当你需要定义对象的形状并希望使用声明合并时例如库的类型定义、扩展全局对象。在面向对象风格的代码中定义类和它们之间的契约。使用 type 的情况当你需要定义联合类型、元组或映射类型时。当你需要重命名或定义复杂类型表达式时。当你需要一个函数的类型时通常用 type。 type ClickHandler (event: MouseEvent) void;保持一致性在一个项目中最好对同一种用途保持统一。例如全部用 interface 定义对象或者全部用 type。混用会增加项目的认知负担。总结场景推荐定义对象形状尤其是需要被实现的interface (或 type)需要声明合并如扩展库类型必须用 interface定义联合类型、元组必须用 type定义函数类型通常用 type简单重命名原始类型通常用 type一句话总结interface 更适合定义对象契约和实现 OOP 的继承而 type 更强大灵活适合定义各种复杂的类型关系。 对于大多数应用开发遵循 优先使用 interface 定义对象在 interface 能力不足时使用 type 是一个很好的策略。一句话核心区别interface 是官方合同范本type 是万能自定义模板详细对比方便记忆1. 扩展方式不同interface 用 extends继承→ 像儿子继承爸爸type 用 交叉→ 像把两张纸粘在一起2. 重复定义时interface → 会自动合并像在合同上追加条款type → 会报错像不允许有两个同名的模板3. 能定义的内容interface → 主要定义对象形状type → 什么都能定义对象、联合类型、元组等4. 使用场景需要被类实现时 → 优先用 interface需要定义复杂类型时 → 只能用 type记忆口诀 接口能合并类型更万能 对象用接口复杂用类型 扩展用继承交叉类型连 类要实现时接口是首选简单选择指南大部分情况下定义对象 → 用 interface需要合并声明时 → 必须用 interface需要定义联合类型、元组等 → 必须用 type记住这个比喻interface 是标准合同type 是自定义模板就能很好区分了
http://www.zqtcl.cn/news/413795/

相关文章:

  • 网站建设维护教程聊城做网站推广地方
  • 郑州七彩网站建设公司怎么样国内老牌的注册代理
  • 衡水外贸网站建设临清轴承网站建设
  • 上街郑州网站建设网站管理建设的需求分析
  • 厦门网站建设策划网站推广的常用方法有哪些
  • 做电脑图标的网站上海定制网站建设公司哪家好
  • 重庆seo网站推广工具济南网页设计师招聘信息
  • 甘肃永靖建设住建局网站深圳网络广告推广公司
  • 台州企业网站搭建电话厦门学网站建设
  • 做易经网站做网站布为网
  • 高端定制开发网站可以做网站的网络
  • 局政务网站建设管理工作总结wordpress ks主题
  • 网站集约化建设的意义网页制作成app
  • 建设银行大厂支行网站专业的营销型网站建设公司
  • 询盘网站苏州建设银行招聘网站
  • 制作网站图片手机网站跳转
  • 装修公司营销网站模板东莞家居网站建设
  • 网站模板建站教程视频德州极速网站建设百家号
  • 专做蔬菜水果的网站自学it从哪里学起
  • 邵阳红网站搭建平台聚合力
  • 滁州网站建设信息推荐软件开发技术方案模板
  • 商务网站建设有哪几个步骤拼多多网页qq登录
  • 厦门商城网站开发宜昌小程序开发公司
  • 东莞沙田网站建设榆林网站建设价格
  • 无锡网站制作建设wordpress写文章模板
  • 企业网站销售提升学历要多少钱
  • 打开建设银行官方网站首页wordpress 站库分离
  • 电子商务网站建设的试卷设计之家app
  • 抚养网站建设黔东南小程序开发公司
  • 网站建设相关行业有哪些wordpress 内容管理系统