不同的用户使用 TypeScript 在类型检查器中寻找不同的东西。有些人正在寻找更宽松的选择加入体验,它可以帮助仅验证其程序的某些部分,并且仍然拥有不错的工具。这是 TypeScript 的默认体验,其中类型是可选的,推理采用最宽松的类型,并且不检查潜在的 null/undefined 值。就像 tsc 在面对错误时发出的信息一样,这些默认值被放置到位以避开您。如果您正在迁移现有的 JavaScript,这可能是理想的第一步。

相比之下,许多用户更喜欢让 TypeScript 尽可能多地立即验证,这就是该语言也提供严格设置的原因。这些严格性设置将静态类型检查从开关(无论您的代码是否被检查)转变为更接近于拨号的东西。你把这个拨盘调得越远,TypeScript 就会为你检查越多。这可能需要一些额外的工作,但总的来说,从长远来看,它是物有所值的,并且可以实现更彻底的检查和更准确的工具。如果可能,新的代码库应该始终打开这些严格性检查。

TypeScript 有几个可以打开或关闭的类型检查严格标志,除非另有说明,否则我们所有的示例都将在启用所有这些标志的情况下编写。 CLI 中的 --strict 标志或 tsconfig.json 中的 “strict”: true 同时切换它们,但我们可以单独选择退出它们。您应该知道的两个最大的问题是 noImplicitAny 和 strictNullChecks:

noImplicitAny

回想一下,在某些地方,TypeScript 不会尝试为我们推断任何类型,而是退回到最宽松的类型:any。 这并不是可能发生的最糟糕的事情——毕竟,无论如何,回到任何只是普通的 JavaScript 体验。

然而,使用 any 通常首先会破坏使用 TypeScript 的目的。 您的程序类型越多,您获得的验证和工具就越多,这意味着您在编写代码时会遇到更少的错误。 打开 noImplicitAny 标志将对类型被隐式推断为 any 的任何变量发出错误。

strictNullChecks

默认情况下,像 null 和 undefined 这样的值可以分配给任何其他类型。 这可以使编写一些代码更容易,但忘记处理 null 和 undefined 是世界上无数错误的原因——有些人认为这是一个十亿美元的错误! strictNullChecks 标志使处理 null 和 undefined 更加明确,让我们不必担心是否忘记处理 null 和 undefined。

更多Jerry的原创文章,尽在:“汪子熙”:

TypeScript strictness - 严格语法检查相关推荐

  1. TypeScript reflect-metadata 结合方法装饰器实现的一个自定义语法检查的例子

    reflect-metadata 例子: import 'reflect-metadata';function validate(target: Object,key: string,descript ...

  2. 使用Visual Studio Code配合TypeScript增强SAP UI5开发的语法检查

    但凡从ABAP编程语言转到JavaScript这门弱类型编程语言进行SAP ui5开发的顾问们,因为缺乏对书写代码的静态检查,往往很不习惯. 其实我们可以使用Visual Studio Code加上t ...

  3. 06_[nvim0.5+从0单排]_Native LSP 自动补全、语法检查、code action、代码段—TypeScript篇

    视频与目录 项目 值 教程目录 https://blog.csdn.net/lxyoucan/article/details/120641546 视频全屏 https://www.bilibili.c ...

  4. vue 非es6 写法怎么按须加载_Vue源码必学指南:flow(语法检查)以及rollup(模板打包)...

    点击上方蓝色字关注我们~ 一.前言 虽然 Vue3 已经公开了代码,但是Vue3.0还处于开发阶段,直接上手使用Typescript是不合适的 , 对于前端的老手是不错的选择, 但是如果没有研究源码经 ...

  5. Vs code 进行硬件设计实用插件-语法高亮、语法检查、自动例化、Testbench生成、对齐、代码块等

    目录 1. ISE.Vivado编辑器设置 1.1 ISE 设置 1.2 Vivado 设置 2. 语法高亮.语法检查和自动例化 2.1 配置ctags 2.2 配置语法检查 2.3 自动例化 3. ...

  6. 如何在 Shell 脚本中执行语法检查调试模式

    我们开启了 Shell 脚本调试系列文章,先是解释了不同的调试选项,下面介绍如何启用shell调试模式. 写完脚本后,建议在运行脚本之前先检查脚本中的语法,而不是查看它们的输出以确认它们是否正常工作. ...

  7. VS集成环境中的JavaScript脚本语法检查

    集成在Visual Studio环境中的JavaScript脚本语法检查. 1.可以直接检验js文件,也可以检验html和aspx页面上的脚本语法. 2.集成环境中直接使用,双击定位到语法错误处. 3 ...

  8. 【错误记录】Android 应用 release 打包报错处理 ( 关闭语法检查 | 日志处理 | release 配置 )

    文章目录 一.关闭语法检查 二.日志处理 三.release 编译优化配置 一.关闭语法检查 Android 应用打包时会进行一系列语法检查 , 如某个布局文件中位置摆放问题 , 比较繁琐 ; 在 M ...

  9. 在 Shell 脚本中执行语法检查调试模式

    文章目录 shell 脚本调试系列 概述 启用 verbose 调试模式 在 Shell 脚本中启用语法检查调试模式 通过修改脚本的首行来启用脚本检查 内置的 set 命令来在脚本中启用调试模式 sh ...

最新文章

  1. 在windows程序中嵌入Lua脚本引擎--编写自己的Lua库
  2. 京东员工因两年一毛钱没涨而离职,618后跳槽涨薪翻倍
  3. Patchwork间谍组织将目标扩大至政府
  4. 苹果cms的php.ini,苹果cms安装及配置详细教程
  5. UNITY 多SCENE加载与编辑
  6. python grequests极限_Python使用grequests并发发送请求
  7. sublime ctags的安装使用方法
  8. [Linux环境]-centos7下安装jdk1.8.0_141流程.
  9. boost::function的用法(一)
  10. Java并发-ThreadLocal
  11. Android APP开发需求文档范本
  12. python flask web部署_webapp开发之使用apache部署python flask webapp
  13. 服务器控件下拉框显示隐藏,演练:在 GridView Web 服务器控件中编辑时显示下拉列表...
  14. js 设计模式学习(1)
  15. 抖音主页头图怎么设置,掌握以下5点技巧即可丨国仁网络资讯
  16. 【Python】计算VOC格式XML文件中目标面积和长宽比并生成直方图
  17. CAD全版本软件安装包(含最新2023)
  18. PHP面试要点---mysql
  19. HTML 入门基础教程
  20. Odoo与浪潮合资研发PS Cloud之如何处理序列号

热门文章

  1. python全栈开发 * 32知识点汇总 * 180717
  2. eclipse实现批量修改文件的编码方式
  3. 世界最小晶体管问世 栅极长度仅一纳米
  4. 虚拟化与云计算(一)之 Lab1 使用 Hadoop Mapreduce 进行数据处理
  5. 产品开发过程问题及解决方案汇总
  6. 黄聪:WordPress判断当前用户是否为管理员登录
  7. 网络层访问权限控制技术-ACL详解 (2)
  8. URL处理两个小工具方法
  9. 整理 | 软件与工具的收集汇总及推荐
  10. 从零写一个编译器(二):语法分析之前置知识