TypeScript | interface 研究心得纪录 1

我习惯理解一个东西,可以套用日常的生活经验,找出类比、拟人化会帮助我更好理解,今天的议题是最近看到 Type vs Interafce 看起来写法差不多,让我兴起两者有什麽不一样的疑问,所以回头去找相关资料,众所周知有位大大把TypeScript 写得很清楚又平易近人,我在阅读其中两篇帮助我了解 Type 用法,并记录心得

https://ithelp.ithome.com.tw/articles/10215586

  1. 什麽是 interface ?

    1. 机动蓝图(这个命名真的让我跪,简单明了),规格概念,可以被组装、延展
  2. 有什麽特性?

    1. 可以被拓展,让开发可以表达抽象概念,且复用
  3. 与 type 有什麽不一样?

    1. 介面(interface),规格(蓝图)概念,用来作为实作时的参考,
    2. 型别(type),静态资料型态,静态有固定不变的意思,虽可被复合使用,但本质还是资料型态
  4. 小结

    过去总会分不清两者,原因是其用法其实多少有些类似,但又有些微不同,看完本篇之後,我发现,不应该先从特性去理解,应该由本质去理解,会比较容易,type 之於 interface 有点 沙发椅 之於 房屋室内设计图,沙发椅型别一但被定义,那就不能变动,若有尺寸需要,可以再定义出 加长版沙发椅(想表达复合概念),室内设计图则可能摆入沙发椅型别在每个空间中,但我完成客卧设计後,我可以视为客卧的摆设蓝图为其他空间之基础规格,因此我需要设计主卧空间配置,就可以直接继承(沿用)客卧配置去做变更


<<:  世界上最快乐的人 (3) 慈心与悲心

>>:  Security 组别

DAY13 Kotlin基础 Class

大学期间上系统分析时,教授在台上说: 「今天的内容呢,是 Class 的 Class 。」 ????...

如何衡量万事万物 (2) 衡量的客体 & 方法

作者认为,认为一件事物无法量测,理由有三个面向: 衡量的观念:按照昨天的摘要,最大的误会是人们常常觉...

[Day 26] 组件基础

记得在第19天的时候有稍微的提到组件这个东西吗?今天这篇就是来初步介绍组件到底是什麽!! 组件的建立...

Day 01 HTML<常用标签>

标题标签** <h1> - <h6> (一级标题 - 六级标题) 文字粗体...

关於 Scratch 3

关於 Scratch 3 教学原文参考:关於 Scratch 3 Scratch 是由美国麻省理工学...