第十九节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.mzph.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…