什么时候在 TypeScript 中使用声明?

2023-12-11

在TypeScript中,为什么有时需要使用declare声明一个变量,有时你不这样做(同样的问题也适用于函数,......)?

举个例子:我何时(以及为什么)使用

declare var foo: number;

if

let foo: number;

会做同样的事情(至少在我看来好像它做了同样的事情,即它们都声明了一个名为foo类型的number)。有什么不同?


你从不使用declare to declare一个变量。您只需使用它来让 TypeScript 知道该变量存在,即使它没有在代码中声明(例如,因为它是在其他代码中声明的全局变量,或者因为您要结合以下 JavaScript 输出)tsc与声明该变量的另一个文件)。或者换句话说:它只为 TypeScript 编译器声明,而不为 JavaScript 运行时声明。

如果你使用playground来编译你的declare var foo: number;,它实际上没有为该声明输出任何内容;example.

相比之下,let foo: number; (or var foo: number;) is变量声明;example.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么时候在 TypeScript 中使用声明? 的相关文章

随机推荐

  • python filter() 函数,以 None 作为过滤器参数

    Input list filter None abs 123 sdf Output abs 123 sdf 据我了解None means no value 在 python 中 但在上面的情况下 过滤函数如何删除空字符串 我很困惑None在
  • 基本数组比较算法

    我正在尝试遵循此处找到的步骤比较两个数组 并知道何时创建新对象 但我只是不明白它是如何工作的 您最终会得到两个已排序的数组 其中一个传递了员工 ID 放入获取请求中 并包含匹配的托管对象 他们 要处理它们 您可以在这些之后遍历排序列表 脚步
  • 如何在 python 中取消引用 urlencoded unicode 字符串?

    我有一个像 Tan m 这样的 unicode 字符串 它以某种方式编码为 Tan u0131m 我怎样才能把这个编码字符串转换回原来的unicode 显然 urllib unquote 不支持 unicode uXXXX 是一个非标准编码
  • 无法获取授权对话框以使用 Google Apps 脚本显示

    我有一个 Google Apps 脚本 我一直在研究它来管理活动资源 它运行良好 我正在使用 API 并使用我的 Python 代码更新工作表 然后 我添加了通过电子邮件通知用户视频已准备好获得批准的功能 我已经看到授权对话框并允许脚本使用
  • 资产管道未预编译 sass

    我已经更新了我的应用程序以使用 Rails 3 1 资产管道 我认为 我可以编译 css 文件 但不能编译 css scss 我正在运行 sass rails gem 但似乎没有任何效果 我应该检查什么 抱歉 我不知道应该在这里提供哪些信息
  • 将 js 变量传递给 html 文件 GAS - BASIC

    我正在尝试将一个变量 单元格 A1 中的我的名字 从我的 code gs 传递到我的 Index html 并通过电子邮件发送 有人可以告诉我我做错了什么或指出我正确的方向吗 Code gs function doGet return Ht
  • 当模态 UIImagePickerController 被关闭时 UIView 通知?

    当模态视图完成关闭时 有没有办法调用代码 EDIT 抱歉 我没早说清楚 我试图关闭 UIImagePickerController 然后显示 MFMailComposeViewController 并将图像数据附加到电子邮件 当我尝试打电话
  • Android GPS数据获取和过滤,如何改进位置信息

    我开始处理 Android 2 1 HTC Hero 上的 GPS 数据 并查看有关卡尔曼滤波器和适合位置数据的最小二乘法的主题 在使用手机接收和记录 GPS 数据时 我发现如果保持在原位置 偏差很小 但移动时坐标非常准确 问题来了 get
  • 如何使用Android SDK监控GPS适配器的状态?

    我需要让我的应用程序监控 GPS 适配器是否启用或禁用 我并不关心当前是否运行实际的 GPS 功能 我需要 GPS 适配器的状态 我可以通过调用手动执行此操作 String providers Settings Secure getStri
  • 使用 join、group by、having、order by 进行序列化

    如何使用 ORM 编写这个查询 SELECT p id p name COUNT c id counter FROM Posts p LEFT JOIN Comments c ON c post id p id WHERE p rating
  • Polymer - 迭代模板中的对象

    根据聚合物文档 可以使用以下方法迭代对象或数组repeat中的声明
  • R Shiny 使用按钮创建多个随机数并保存

    我想创建一个生成随机数的按钮 并将所有随机数保存在我的服务器上 以便稍后评估该数据 不幸的是 我无法生成包含所有随机数的向量 不知何故 for 循环不起作用 谢谢 library shiny ui lt fluidPage actionBu
  • 如何使用 .htaccess 将文本转换为小写 URL

    我想在 htaccess 文件中设置 301 重定向 因此 URL 如下 http example com Foo http example com Foo Bar http example com Foo Bar Blah 改成 http
  • 通过公共 HTTP 自动将大文件检索到 Google Cloud Storage

    出于天气处理的目的 我希望在 Google Cloud Storage 中自动检索每日天气预报数据 这些文件可在公共 HTTP URL http dcpc nwp meteo fr openwis user portal srv en ma
  • 如何获取google api图表柱形图中的vaxis线?

    我在 google api 图表中使用 corechart 包的柱形图 在此图表中 我需要垂直轴线 y轴线 如何获取柱状图中的垂直轴线 我提到了这个link用于创建此图表 Actual Expected 使 Y 轴编号不是字符串 这是代码
  • 如何使用不变的 URL 抓取多个页面 - python

    我正在尝试抓取这个网站 http data eastmoney com xg xg 到目前为止 我已经使用 selenium 来执行 javascript 并抓取表 但是 我的代码现在只能获取第一页 我想知道是否有办法访问其他 17 个页面
  • 如何知道当前季度的日期?

    使用Linux命令行可以知道当前季度吗 我没有找到一种方法来做到这一点date手册页 与财政季度开始和结束相对应的日期因国家 地区以及进行财务报告的实体的性质 公司 个人 政府 其他 而异 有些公司还有备用时间表 因此 没有标准的 API
  • 删除 JavaFX TitledPane 中 CSS 不起作用的插图

    基于 James D 的解决方案 如何在 JavaFX TitledPane 中设置 删除插图 我已经尝试过 似乎通过 CSS 从 JavaFX TitledPane 中删除插入不起作用 它确实在场景生成器中正确更新 但在运行时插图保持不变
  • 使用 PHP 创建登录页面

    我正在尝试使用一些 PHP 代码创建带有登录表单的网站 用户将尝试使用用户名和密码登录 然后页面将显示 欢迎 当用户尝试输入用户名和密码时 显示的网站是空白的 上面什么也没有 另外 我已经使用用户名和密码创建了 mysql 数据库 我的主页
  • 什么时候在 TypeScript 中使用声明?

    在TypeScript中 为什么有时需要使用declare声明一个变量 有时你不这样做 同样的问题也适用于函数 举个例子 我何时 以及为什么 使用 declare var foo number if let foo number 会做同样的