typescript 接口 interface 的理解
生活随笔
收集整理的這篇文章主要介紹了
typescript 接口 interface 的理解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在學習typescript的時候,經常發現別人寫了好多接口(interface),那問題來了,我們自己寫代碼,應該在什么情況下寫接口才比較合適呢。于是我就找了找資料,整理一下。
接口運行時的影響為 0。TypeScript 接口中有很多方式來聲明變量的結構。
以下兩個是等效聲明, 第一個使用內聯注解,第二個使用接口:
// Sample A declare const myPoint: { x: number; y: number };// Sample B interface Point {x: number;y: number; } declare const myPoint: Point;示例 B 的好處在于,如果有人創建了一個基于 myPoint 的庫來添加新成員, 他們可以輕松將此成員添加到 myPoint 的現有聲明中:
// Lib a.d.ts interface Point {x: number,y: number } declare const myPoint: Point// Lib b.d.ts interface Point {z: number }// Your code let myPoint.z // Allowed!因為 TypeScript 接口是開放式的,這是 TypeScript 的一個重要原則,它允許你使用接口模仿 JavaScript 的可擴展性。
通過上面可以明白,接口可以增加擴展性,又不會影響到性能,所以使用接口了。
類可以實現接口
如果你希望在類中使用必須遵循的接口(類)或是別人定義的對象結構,可以使用 implements 關鍵字來確保兼容性:
interface Point {x: number;y: number; }class MyPoint implements Point {x: number;y: number; // Same as Point }基本上在 implements(實現) 的存在下,該外部 Point 接口的任何更改都將導致代碼庫中的編譯錯誤,因此可以輕松地使其保持同步:
interface Point {x: number;y: number;z: number; // New member }class MyPoint implements Point {// ERROR : missing member `z`x: number;y: number; }參考文檔地址:https://jkchao.github.io/typescript-book-chinese/typings/interfaces.html
總結
以上是生活随笔為你收集整理的typescript 接口 interface 的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MyBatis 快速入门
- 下一篇: 成功解决微信浏览器实现自动下载功能