如何使用打字稿检查对象内部的键和值

How to check key and values inside in object using typescript

我尝试使用 ? 运算符使用打字稿获取对象中的值。但它抛出一个错误。

const data = {sample:{sample1:''hai'}}  

! 操作员使用它的工作正常

成功案例


if(data.sample!['sample1']){
    console.log('hai')
}

?. 运算符使用了它的抛出错误

错误案例

if(data.sample?.['sample1']){
    console.log('hai')
}

如何使用取值?.运算符

?. 运算符(又名可选链接运算符,又名可选 属性 访问运算符,又名 Elvis 运算符)仅在 TypeScript 3.7 中引入。

在 TypeScript 3.7+ 中,以下代码编译和执行没有问题:

const data = { sample: { sample1: 'hai' } };
console.log(data.sample?.['sample1']); 

由于您使用 标记了您的问题,您将不得不升级您的 TypeScript 版本,或者恢复为更明确地检查 nullundefined 的值.