如何强制 Typescript 中的所有变量都声明类型

2024-04-13

据我所知,当你在Typescript中声明变量时,你可以选择是否为变量指定类型。如果未指定类型,则使用默认的“any”类型。有没有办法强制所有变量都声明类型,即使它可能是“任何”。例如,当未指定类型时,我希望出现编译器错误。这样一来,程序员将被迫为所有内容指定类型,并防止变量意外保留为“any”的情况。


在 TypeScript 中声明的变量不一定没有类型,这一点并不正确。如果可能,TypeScript 编译器将根据声明的右侧推断类型。

例如:

var x = 150;

x将是一个数字,因为 RHS 是一个数字。

您可以使用命令行编译选项来捕获无法通过使用推断类型的声明--noImplicitAny:

对隐含“any”类型的表达式和声明发出警告。

此选项将捕获变量的情况d例如已声明,但未立即赋值。

var d;

会产生错误:

错误 TS7006:“test”的参数“d”隐式具有“any”类型。

编译器开关还捕获没有指定类型的参数,并且作为@basarat https://stackoverflow.com/users/390330/basarat在评论中指出,它还捕获返回类型和类/接口成员。

还有更多信息这篇博文 http://blogs.msdn.com/b/typescript/archive/2013/08/06/announcing-0-9-1.aspx以及。请注意,还有一个等效的 MSBuild/项目设置可用:<TypeScriptNoImplicitAny>.

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

如何强制 Typescript 中的所有变量都声明类型 的相关文章

随机推荐

  • p4和git之间有双向桥吗?

    是否有一个好的 可靠且自动化的 方法来为多个用户在 perforce 和 git 之间移动 git 更改 git p4 似乎可以很好地处理单用户情况 但我正在寻找多用户选项 目前 我们正在从多种不同的源代码控制系统转向单一的源代码控制系统
  • 在 iPhone 应用程序中使用 libxml2 解析 xml 文件的教程或示例代码

    我只想要一个演示在 Iphone 中使用 libXml2 解析 XML 文件的教程 我找到了关于 TouchXML 和其他的教程 但 Libxml2 的教程不一样 如果可以的话请帮忙 Apple 有一个示例 iPhone 项目 它使用 NS
  • Gradle 依赖版本“+”符号

    我试图了解 Gradle 如何处理带有 号的依赖版本 如示例 8 1 所示 http www gradle org docs current userguide artifact dependency tutorial html http
  • 协议实现的问题

    我想要实现的是UITextField将单词视为字符 具体来说 我试图将数学表达式 sin 作为一个字符 我想通过实现我自己的 UITextInputDelegate 来解决这个问题 但是 当我实现或采用此协议时 该协议中的四个必需函数永远不
  • 如何为 QTimeEdit 提供自动更改?

    我的对话框上有一个 QTimeEdit 小部件 我想提供某种自动更改 如果光标位于分钟部分并且时间为 04 59 则下次单击向上箭头会将时间更改为 5 00 怎么做 我看到有人提到 AutoAdvance 属性 但我认为它已经过时了 因为我
  • Clojure:将哈希映射键字符串转换为关键字?

    我使用 Aleph 从 Redis 提取数据 apply hash map r hgetall key medication id 问题是这些数据返回时带有键字符串 例如 name Tylenol how instructions 当我需要
  • MySQL ORDER BY 带 % 的字段

    我正在尝试使用通配符进行 ORDER BY FIELD 工作 但没有成功 SELECT positions departments dept name departments dept url divisions dept name AS
  • 营销人员的网络表单动态地形成字段条件可见性

    我们使用 WFFM 来创建登陆页面 我们的营销人员很容易使用它 现在 我们正在考虑定制它们 例如 我们有以下需求 在我们的表单上 我们显示居住国家 地区 但是当您选择某些国家 地区时 我们希望再显示一个名为的下拉菜单state provin
  • ADT eclipse xml 布局文本编辑器 - 在文件关闭并重新打开之前经常损坏[重复]

    这个问题在这里已经有答案了 可能的重复 移动和消失的代码行 Eclipse 的 XML 编辑器出现问题 https stackoverflow com questions 10030727 moving and vanishing line
  • 使用 big.matrix 对象计算欧几里德距离矩阵

    我有一个类对象big matrix in R有尺寸778844 x 2 这些值都是整数 公里 我的目标是使用以下公式计算欧几里德距离矩阵big matrix并因此得到一个类的对象big matrix 我想知道是否有最佳方法可以做到这一点 我
  • Scrum 燃尽模式 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我所在的团队由 10 人组成 负责处理大型遗留代码库 但产品负责人不太理想 我们的积压工作状况非常糟糕 大型史诗经常破坏我们的冲刺 该团队
  • 如何在 Android 上以编程方式设置进度条的样式

    我在 style xml 中有 ProgressBar 样式 当我创建布局时 放置 ProgressBar 并设置样式 例如 style style ProgressBarStyle 将布局设置为对话框 一切都很好 其他方式以编程方式创建对
  • 安装 PCRE 时出错

    我正在尝试在我的 Ubuntu 11 10 服务器上安装 PCRE 当我运行 make 命令时 我得到一个非常长的输出 它总是以这个错误结束 libtool link cd libs rm f libpcreposix la ln s li
  • Join 中的用例声明

    大家好 我想使用此查询在连接中使用 case 语句 但出现错误 Select CONVERT VARCHAR 10 SII SIDATE 103 DATE SII SALEID SII ItemName SI TenancyID FROM
  • 在 Mongoose 中使用 AND 组合两个 OR 查询

    我想在 Mongoose 中使用 AND 组合两个 OR 查询 就像这个 SQL 语句一样 SELECT FROM WHERE a 1 OR b 1 AND c 1 OR d 1 我在 NodeJS 模块中尝试了此操作 该模块仅从主应用程序
  • 在 SQL 中比较图像

    与数据库中的图像进行比较的最佳方法是什么 我尝试比较它们 Image 是 Image 类型 Select from Photos where Photo Image 但收到错误 数据类型图像和图像在等于运算符中不兼容 由于图像数据类型是二进
  • 在 Twitter Fabric 中使用自定义登录按钮?

    我一直在尝试使用普通按钮来使用 twitter sdk 执行身份验证过程 但它似乎不起作用 有人尝试过类似的事情吗 我已经正确设置了 API 密钥等 登录过程正确执行 但回调部分似乎没有被调用 我的日志都没有被执行 成功或失败部分都没有 T
  • 具有多个逗号分隔值的返回语句[重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 语法 逗号是什么意思 https stackoverflow com questions 3561043 javascript syntax what comma means 这
  • 使用jsPDF在服务器端保存pdf

    我有一个应用程序 可以生成一个 HTML 页面 其中包含用户可以编辑的数据 最后我用 jsPDF 生成了一个 pdf 文件 有什么方法可以将生成的 pdf 保存在服务器端数据库中吗 我正在使用 PrimeFaces 提前致谢 为其他用户更新
  • 如何强制 Typescript 中的所有变量都声明类型

    据我所知 当你在Typescript中声明变量时 你可以选择是否为变量指定类型 如果未指定类型 则使用默认的 any 类型 有没有办法强制所有变量都声明类型 即使它可能是 任何 例如 当未指定类型时 我希望出现编译器错误 这样一来 程序员将