typescript 如何摆脱非空Assert

w9apscun  于 2023-05-19  发布在  TypeScript
关注(0)|答案(1)|浏览(146)

我对打字很陌生,所以如果这个问题太基本,请原谅我。
我正在解构一个像这样的物体

const {
firstName,
lastName,
} = human!;

当我移除!我得到一个类型错误。如何解决这个问题?

q8l4jmvw

q8l4jmvw1#

在TypeScript中,非空Assert运算符(!)用于告诉编译器某个值不会为null或undefined。它允许你覆盖TypeScript的类型检查,并Assert一个变量或属性在运行时将具有非空值。
参见下面的示例

function greet(name: string | null): string {
 // Use the non-null assertion operator to assert that 'name' is not null
 return `Hello, ${name!.toUpperCase()}!`;
}

console.log(greet("Alice"));      // Output: Hello, ALICE!
console.log(greet(null));         // Output: Error - Runtime exception

请检查human对象是否包含有效值.如果是这样,您可以删除非空Assert

相关问题