第十九節TypeScript 模塊

1、TypeScript模塊:

模塊是在其自身的作用域里執行,并不是在全局作用域,這意味著定義在模塊里面的變量、函數和類等在模塊外部是不可見的,除非明確地使用 export?導出它們。類似地,我們必須通過 import?導入其他模塊導出的變量、函數、類等。

兩個模塊之間的關系是通過在文件級別上使用 import 和 export?建立的。

2、模塊導出使用關鍵字export 關鍵字,語法格式:

// 文件名 : SomeInterface.ts 
export interface SomeInterface { // 代碼部分
}

要在另外一個文件使用該模塊就需要使用?import?關鍵字來導入:

import someInterfaceRef = require("./SomeInterface");

實例:

IShape.ts 文件代碼:
/// <reference path = "IShape.ts" /> 
export interface IShape { draw(); 
}
Circle.ts 文件代碼:
import shape = require("./IShape"); 
export class Circle implements shape.IShape { public draw() { console.log("Cirlce is drawn (external module)"); } 
}
Triangle.ts 文件代碼:
import shape = require("./IShape"); 
export class Triangle implements shape.IShape { public draw() { console.log("Triangle is drawn (external module)"); } 
}
estShape.ts 文件代碼:
import shape = require("./IShape"); 
import circle = require("./Circle"); 
import triangle = require("./Triangle");  function drawAllShapes(shapeToDraw: shape.IShape) {shapeToDraw.draw(); 
} drawAllShapes(new circle.Circle()); 
drawAllShapes(new triangle.Triangle());

執行結果:
Cirlce is drawn (external module)
Triangle is drawn (external module)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/537346.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/537346.shtml
英文地址,請注明出處:http://en.pswp.cn/news/537346.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

微軟宣布 Edge 瀏覽器將切換至 Chromium 內核

簡述 據微軟官方 blog的消息&#xff0c;windows 的默認瀏覽器 Edge將切換內核至 Chromium&#xff0c;并且微軟將秉承開源精神&#xff0c;在未來更多的為 Chromium項目貢獻代碼。 微軟具體說了什么&#xff1f; 原文如下&#xff1a; For the past few years, Microsoft has …

解決the resource is not on the build path of a java project

場景 普通的Java project 轉maven 項目后&#xff0c;導入類提示&#xff1a;the resource is not on the build path of a java project 解決方法 將檢查java build source&#xff0c;將報錯的刪除&#xff0c;重新添加src資源包

python實現按回車鍵繼續程序_python實現按任意鍵繼續執行程序

在windows下寫bat的時候&#xff0c;通過pause命令&#xff0c;可以暫停程序運行&#xff0c;例如經常見的程序會在終端提示”按任意鍵繼續……”,用戶在終端回車后程序可以接著運行&#xff0c;這個功能有多大用途今天暫且不說&#xff0c;但我覺得應該有很多人也想在python下…

Beta

目錄 過去存在的問題任務分工規范后端總結卉卉家燦前端總結緒佩青元愷琳宇恒丹丹算法&API接口家偉鴻杰一好文檔&博客撰寫政演產品功能我們已經坐了哪些調整桌面控件合并我們會在Beta沖刺中做哪些改進組長博客&#xff1a;https://www.cnblogs.com/heihuifei/p/10084535…

項目驗收文檔合并技巧

1&#xff09;先將各個文件word寫好&#xff0c;格式&#xff0c;字體調整好&#xff1b; 2&#xff09;每個word導出PDF&#xff1b; 3&#xff09;將導出的PDF合并到一個大的PDF&#xff1b;

xsl判斷節點存在_HashMap1.8之節點刪除分析

HashMap之節點刪除大家一直關注的都是HashMap如何添加節點&#xff0c;當節點數量大于8的時候轉化為紅黑樹&#xff0c;否則使用鏈表等等&#xff0c;但大家是否有看過刪除節點的處理邏輯呢&#xff1f; 今天來看看HashMap刪除節點的神來之筆問題來源在查看HashMap源碼時&#…

用Emit技術替代反射

System.Reflection.Emit命名空間類可用于動態發出Microsoft中間語言&#xff08;MSIL&#xff09;代碼&#xff0c;以便生成的代碼可以直接執行。反射也用于獲取有關類及其成員的信息。換句話說&#xff0c;反射是一種技術&#xff0c;允許您檢查描述類型及其成員的元數據&…

windows安裝TortoiseGit詳細使用教程

windows安裝TortoiseGit詳細使用教程【基礎篇】_小飛牛的技術博客_51CTO博客windows安裝TortoiseGit詳細使用教程【基礎篇】&#xff0c;環境&#xff1a;win8.164bit安裝準備&#xff1a;首先你得安裝windows下的git msysgit1.9.5安裝版本控制器客戶端tortoisegit tortoisegit…

keras中文文檔_【DL項目實戰02】圖像識別分類——Keras框架+卷積神經網絡CNN(使用VGGNet)

版權聲明&#xff1a;小博主水平有限&#xff0c;希望大家多多指導。目錄&#xff1a;【使用傳統DNN】BG大龍&#xff1a;【DL項目實戰02】圖像分類——Keras框架使用傳統神經網絡DNN?zhuanlan.zhihu.com【使用卷積神經網絡CNN】BG大龍&#xff1a;【DL項目實戰02】圖像識別分…

Java Html轉pdf實戰

Java Html轉pdf實戰 - 簡書年尾手頭沒啥事&#xff0c;干起了打雜工作&#xff0c;最近幫忙解決后端項目里一個html批量轉pdf速度慢的問題&#xff0c;項目里用到的轉換工具是 wkhtmltopdf &#xff0c;這貨轉單個html還好&#xff0c;批量轉速...https://www.jianshu.com/p/d0…

Hadoop生態圈-Ambari控制臺功能簡介

Hadoop生態圈-Ambari控制臺功能簡介 作者&#xff1a;尹正杰 版權聲明&#xff1a;原創作品&#xff0c;謝絕轉載&#xff01;否則將追究法律責任。 在經歷一系列安裝過程之后&#xff08;部署過HDP后我終于發現為什么大家喜歡用它了&#xff0c;部署比CDH簡單是他優勢之一&…

oracle監聽啟動很慢

TNS-12531: TNS:cannot allocate memory 首先查看內存&#xff0c;free -m 發現當前的空閑內存還有很多&#xff0c;那就不是內存不足的問題 想到之前重啟過數據庫服務器&#xff0c;查看主機名hostname,然后在查看etc/hosts 中的主機名&#xff0c;發現兩者不一致&#xff0c;…

python地圖標注_Python 給定的經緯度標注在地圖上的實現方法

博主最近發現了python中一個好玩的包叫basemap,使用這個包可以繪制地圖。值得說一下的是&#xff0c;basemap還沒有pip檢索&#xff0c;因此不能直接使用pip install basemap&#xff0c;來安裝這個包。所以需要自己把下面兩個包自行下載&#xff0c;然后在該目錄下使用pip安裝…

剪映專業版PC端清理緩存與日志

清理緩存 這個簡單&#xff0c;在全局設置里&#xff0c;點擊刪除鍵&#xff0c;就可以 清理日志 軟件每次剪輯都會生成日志&#xff0c;日志路徑在 C:\Users\zengm\AppData\Local\JianyingPro\User Data\Log C:\Users\zengm\AppData\Local\JianyingPro\User Data\VELog

nodejs源碼_nodejs之setTimeout源碼解析

setTimeout是在系統啟動的時候掛載的全局函數。代碼在timer.js。function setupGlobalTimeouts() {const timers NativeModule.require(timers);global.clearImmediate timers.clearImmediate;global.clearInterval timers.clearInterval;global.clearTimeout timers.clear…

百度網盤PC端緩存文件夾

在C:\Users\zengm\AppData\Roaming\baidu\BaiduNetdisk\users\下面 BaiduYunCacheFileV0.db 文件為百度網盤目錄數據&#xff0c;結構為&#xff1a; 百度網盤BaiduYunCacheFileV0.db數據庫研究_wqq1027的博客-CSDN博客_百度網盤數據庫最近研究了一下百度網盤的本地數據庫文件…

python 圖片轉文字錯誤_python3把base64字符串寫成圖片文件出錯

下面的代碼在python2下正常的&#xff0c;是一個微信圖標&#xff0c;文件md5是a1be719025844a1918ec6a338eaa8456我對python3不熟悉&#xff0c;不知道要怎么改#!/usr/bin/python3import base64def filePutContents(file, content):fp open(file, a)fp.write(content)fp.clos…

從業回憶錄,最后悔的事

被一篇文章誤導 我清楚地記得,在我畢業第一年,我看到了一篇關于程序員怎么學技術的文章,觀點是程序員要多學技術,文章引用了典故:“高筑墻,廣積糧,緩稱王”。當時讀這篇文章,感覺很有道理,認同了文章里的觀點。 這么些年,學了不少技術:C#、Asp.net、Java Web套餐、A…

kodexplorer開源網盤php程序配置解析

config/setting_user.php 追加內容&#xff08;一下都是&#xff0c;注意不要使用中文引號、雙引號及分號&#xff09; //【指定多語言只保留中文】 $GLOBALS[config][settings][language] zh-CN; //【自定義群組創建時自動新建的目錄】 $GLOBALS[config][settingSystemDefaul…