javascript - 为什么 Typescript 不鼓励将值设置为 null?

标签 javascript typescript nullable

我不明白不可空类型和 Typescript 的 strictNullChecks 标志背后的原因。我总是将变量的值设置为 null 当我确定我已经完成它以将其从内存中释放并且 GC 可以收集它时。我的测试表明,它可以将 JavaScript 代码的执行速度提高很多倍,尤其是在长而深的循环中。这是一种不好的做法吗?是否应该将某些类型的变量设置为 null 而不是其他类型的变量?

最佳答案

推理是为了防止一些运行时错误,包括 console.log(null.printWhyNullIsBad()); 通过在编译时捕获这些错误,同时假设编写循环的人如此深如此嵌套以至于将现代 JS 垃圾收集器扩展到极限,可以用 C/C++ 编写这种代码并使用 WebAssembly 运行它。

关于javascript - 为什么 Typescript 不鼓励将值设置为 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58145316/

相关文章:

javascript - 等高不工作.js 文件

javascript - imacros javascript 将数据保存到文件,在 Firefox 中给出错误

javascript - 查找目录的内容

javascript - 使用 Google Apps 脚本处理来自数组中输入元素的多个文件

javascript - Typescript 中的类作为函数参数

TypeScript 变量名作为接口(interface)类型?

c# - C# 8.0 中是否有针对非空的 "check and get"运算符?

c# - 在 C# 中使用条件运算符键入结果

Typescript - 为什么在这种情况下非可选变量可以是未定义的

c# - 如何使用 .NET 反射检查可为空的引用类型