TypeScript strictness - 严格语法检查
不同的用户使用 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 - 严格语法检查相关推荐
- TypeScript reflect-metadata 结合方法装饰器实现的一个自定义语法检查的例子
reflect-metadata 例子: import 'reflect-metadata';function validate(target: Object,key: string,descript ...
- 使用Visual Studio Code配合TypeScript增强SAP UI5开发的语法检查
但凡从ABAP编程语言转到JavaScript这门弱类型编程语言进行SAP ui5开发的顾问们,因为缺乏对书写代码的静态检查,往往很不习惯. 其实我们可以使用Visual Studio Code加上t ...
- 06_[nvim0.5+从0单排]_Native LSP 自动补全、语法检查、code action、代码段—TypeScript篇
视频与目录 项目 值 教程目录 https://blog.csdn.net/lxyoucan/article/details/120641546 视频全屏 https://www.bilibili.c ...
- vue 非es6 写法怎么按须加载_Vue源码必学指南:flow(语法检查)以及rollup(模板打包)...
点击上方蓝色字关注我们~ 一.前言 虽然 Vue3 已经公开了代码,但是Vue3.0还处于开发阶段,直接上手使用Typescript是不合适的 , 对于前端的老手是不错的选择, 但是如果没有研究源码经 ...
- Vs code 进行硬件设计实用插件-语法高亮、语法检查、自动例化、Testbench生成、对齐、代码块等
目录 1. ISE.Vivado编辑器设置 1.1 ISE 设置 1.2 Vivado 设置 2. 语法高亮.语法检查和自动例化 2.1 配置ctags 2.2 配置语法检查 2.3 自动例化 3. ...
- 如何在 Shell 脚本中执行语法检查调试模式
我们开启了 Shell 脚本调试系列文章,先是解释了不同的调试选项,下面介绍如何启用shell调试模式. 写完脚本后,建议在运行脚本之前先检查脚本中的语法,而不是查看它们的输出以确认它们是否正常工作. ...
- VS集成环境中的JavaScript脚本语法检查
集成在Visual Studio环境中的JavaScript脚本语法检查. 1.可以直接检验js文件,也可以检验html和aspx页面上的脚本语法. 2.集成环境中直接使用,双击定位到语法错误处. 3 ...
- 【错误记录】Android 应用 release 打包报错处理 ( 关闭语法检查 | 日志处理 | release 配置 )
文章目录 一.关闭语法检查 二.日志处理 三.release 编译优化配置 一.关闭语法检查 Android 应用打包时会进行一系列语法检查 , 如某个布局文件中位置摆放问题 , 比较繁琐 ; 在 M ...
- 在 Shell 脚本中执行语法检查调试模式
文章目录 shell 脚本调试系列 概述 启用 verbose 调试模式 在 Shell 脚本中启用语法检查调试模式 通过修改脚本的首行来启用脚本检查 内置的 set 命令来在脚本中启用调试模式 sh ...
最新文章
- 在windows程序中嵌入Lua脚本引擎--编写自己的Lua库
- 京东员工因两年一毛钱没涨而离职,618后跳槽涨薪翻倍
- Patchwork间谍组织将目标扩大至政府
- 苹果cms的php.ini,苹果cms安装及配置详细教程
- UNITY 多SCENE加载与编辑
- python grequests极限_Python使用grequests并发发送请求
- sublime ctags的安装使用方法
- [Linux环境]-centos7下安装jdk1.8.0_141流程.
- boost::function的用法(一)
- Java并发-ThreadLocal
- Android APP开发需求文档范本
- python flask web部署_webapp开发之使用apache部署python flask webapp
- 服务器控件下拉框显示隐藏,演练:在 GridView Web 服务器控件中编辑时显示下拉列表...
- js 设计模式学习(1)
- 抖音主页头图怎么设置,掌握以下5点技巧即可丨国仁网络资讯
- 【Python】计算VOC格式XML文件中目标面积和长宽比并生成直方图
- CAD全版本软件安装包(含最新2023)
- PHP面试要点---mysql
- HTML 入门基础教程
- Odoo与浪潮合资研发PS Cloud之如何处理序列号