undefined 赋值给 number类型的变量时报错

来源:2-3 原始数据类型和 Any 类型

Hongjia

2023-08-03

请问为何按视频所述,我将undefined 赋值给 number类型的变量时报错,
如图所示
图片描述

谢谢老师

写回答

2回答

张轩

2023-08-03

同学你好

这是因为不同版本的 ts 所导致的,新版会出现这个问题。

在TypeScript的tsconfig.json配置文件中,有一个名为strictNullChecks的选项,用于开启或关闭严格的null检查。

当strictNullChecks设置为true时,TypeScript会对null和undefined的使用进行严格检查,以避免可能的空引用错误。这意味着你需要显式地处理可能为null或undefined的情况,或者使用可选类型来表示可能为null或undefined的值。

当strictNullChecks设置为false时,TypeScript会放宽对null和undefined的检查,允许它们被赋值给任何类型的变量。这样可能会导致在运行时出现空引用错误。

所以,可以按照自己的需求设定你想要的配置。

{
  "compilerOptions": {
    "strictNullChecks": true
  }
}



0
0

Hongjia

提问者

2023-08-03

发现用tsc编译没报错,这算不算是vs code比较聪明的提示?

请问老师,这种把null或是undefined赋值给其他类型变量的操作在真实开发中是一种必要的技巧还是应该尽量避免的坑?谢谢

0
0

进阶必学,打造媲美ElementPlus的组件库

Vue3.3 + TS4 ,自主打造媲美 ElementPlus 的组件库

481 学习 · 219 问题

查看课程