首页 > 解决方案 > 启用标志 --strictNullChecks 时,null 不可分配给 void

问题描述

根据 TypeScript 文档:

但是,当使用--strictNullChecks标志时,nullundefined只能分配给void它们各自的类型。这有助于避免许多常见错误。如果你想传入一个字符串或者 null 或 undefined,你可以使用联合类型string | 空 | 未定义。再一次,稍后将详细介绍联合类型。

但是,当我尝试以下代码片段时:

// This worked correctly
let voidIsUndefined: void = undefined;

// While following code thrown a compilation error "Type 'null' is not assignable to type 'void'."
let voidIsNull: void = null;

它没有按预期完全工作。

根据文档,我应该能够将null分配给 void 类型。有人可以解决这个疑问吗?

标签: typescript

解决方案


TypeScript 文档具有误导性,您感到困惑是正确的。这里有一个问题:https ://github.com/microsoft/TypeScript-Handbook/issues/468


推荐阅读