TypeScript 严格模式怎么开启

写代码时,你是不是有过这种经历:明明感觉写的逻辑没问题,编译时却弹出一堆莫名其妙的报错,找了半天才发现是变量没声明就用、不小心改了不该改的全局值?其实这些坑,很多时候只要打开一个开关就能避开——这就是TypeScript里的“严格模式”,今天就用生活化的例子,一步步讲明白它到底是什么、怎么开。

为什么需要TypeScript严格模式?

先举个生活里的例子:你去超市买东西,要是没有明确的购物清单(类似TS的严格检查),很可能会顺手拿个不该买的零食、漏买要的食材;但要是有清单,每一样都得核对清楚,反而能避免浪费时间和钱。

TypeScript 严格模式怎么开启

TypeScript严格模式的作用,就相当于给你的代码加了一份“电子购物清单”:它会把那些你没注意到的、可能出问题的“隐形坑”都揪出来,比如变量没声明就用、函数参数传错类型、this指向不对……这些问题平时写的时候可能觉得没什么,放到项目里或者多人协作时,很容易变成隐蔽的bug,等到上线才发现,修起来反而更麻烦。简单说,开启严格模式不是给你添乱,是帮你提前“踩刹车”,避免后面出大问题。

开启TypeScript严格模式的两种常用方法

开启严格模式其实很简单,不用复杂的配置,分两种情况,对应不同的项目需求,照着做就行。

第一种是针对小项目或者刚接触TS的新手,直接在项目根目录的tsconfig.json文件里改几行配置就行。tsconfig.json是TS的核心配置文件,相当于项目的“总说明书”,所有TS的规则都在这里定。

打开这个文件,找到compilerOptions(编译器配置)这一项,加上两个关键的规则:"strict": true和"strictNullChecks": true。别担心,这两个参数是绑定生效的,只要写了"strict": true,就等于开启了所有严格检查的规则,包括对空值、类型、函数的各种校验,不用再一个个手动加其他规则。举个例子,要是没开严格模式,你写let name; name = "小明"; name = null不会报错,但开了之后,TS会提醒你“name可能是null,你是不是漏了处理?”,这就帮你提前发现了可能的空指针问题。

第二种情况是有些旧项目,不想一下子开启所有严格规则,只想先试一部分功能,那就可以不用写"strict": true,而是单独开启需要的严格检查项。比如你只需要空值检查,就写"strictNullChecks": true;要是还想检查函数参数的类型,就加"strictFunctionTypes": true。这种方法适合循序渐进改造旧项目,不用一次性改完所有代码,减少返工的麻烦。

开启后要注意的小细节

开启严格模式后,可能会遇到一些以前没见过的报错,这很正常,相当于代码“变严谨”了,原来的小问题现在被放大了。比如你之前习惯写function add(a, b) { return a + b },没给参数加类型,严格模式会提醒你“参数a和b需要明确类型”,你只要改成function add(a: number, b: number): number { return a + b }就行,加上类型声明就解决了。

还有个常见的小误区:有人觉得开启严格模式会让代码变难写,其实反过来,它能帮你减少后期调试的时间。就像你走夜路,开个小灯(严格模式),虽然现在要适应光线,但不会踩进坑里,比摸黑走安全多了。

总的来说,TypeScript严格模式是新手入门、项目协作都建议开启的功能,不用怕报错,顺着提示改就行,能让你的代码更稳定、更容易维护。

上一篇 从基础语法到实战开发 一文搞懂Swift编程语言的核心知识与应用场景