TypeScript中为已有类扩展属性,有无无需接口的简便实现方式?
不用接口实现类类型加额外属性的简便方式
当然有更简便的方式,你可以用TypeScript的交叉类型(&)直接组合原类类型与额外属性的类型,无需单独定义接口:
import type { Scene, Camera } from 'three' // 直接在变量标注时使用交叉类型 let scene: Scene & { activeCamera: Camera }
这种写法和你之前用接口扩展的效果完全一致,而且更精简。如果这个组合类型需要多次复用,也可以用类型别名来封装,比接口写法更简洁:
import type { Scene, Camera } from 'three' // 用类型别名封装交叉类型,方便复用 type SceneWithActiveCamera = Scene & { activeCamera: Camera } let scene: SceneWithActiveCamera
内容的提问来源于stack exchange,提问作者Chiara Ani
相关产品推荐
相关产品推荐

