我是 Go 语言的新手,我正在使用以下签名将一些属性 props?
传递给我的 CDK 应用程序堆栈:props?: cdk.StackProps
现在,当我通过键入 props
在控制台上打印变量 console.log(props)
时,我看到了这一点(如预期):
{ env: { account: '112358132134', region: 'us-west-2' } }
但是,当我执行以下操作时:console.log(props['env'])
我收到以下错误:
console.log(props["env"]["account"])
我收到此错误:
error TS2532: Object is possibly 'undefined'.
我的目标是将此属性用于我的业务逻辑。我怎样才能阅读它?
答案 0 :(得分:0)
访问 account
属性可能会失败,因为 env
属性是 optional
。
您的 TypeScript 设置似乎打开了 strict null checking
,因此由于潜在的 TypeError
,代码将无法编译。
您可以关闭 strict null checking
,但通常最好保持启用状态。
您还可以重写代码以应对 env
成为 undefined
console.log(props.env?.account); // If You have high enough TS version
// OR
console.log(props['env'] ? props['env']['account'] : undefined);