日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

typescript 接口 interface 的理解

發布時間:2023/12/10 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 的理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。