gpt4 book ai didi

javascript - 访问对象上具有默认值的字段时如何修复流程错误?

转载 作者:行者123 更新时间:2023-12-02 23:10:22 24 4
gpt4 key购买 nike

示例

Flow REPL

问题

我正在尝试访问一个我认为应该始终存在的对象上的字段。

如何解决以下流程错误?

代码片段

problem = (arg: {refKey: string} = {}) => {
const {refKey = 'ref', ...rest} = arg;
return {
[refKey]:arg[refKey],
...rest
};
};

错误:

19:       [refKey]:arg[refKey],
^ Cannot get `arg[refKey]` because property `ref` is missing in object type [1].
References:
16: problem = (arg: {refKey: string} = {}) => {
^ [1]

最佳答案

发生这种情况是因为您在声明该值时设置了该值。

如果要设置默认值,可以在default参数中设置,如下所示:

problem = (arg: {refKey: string} = {refKey: 'ref'}) => {
const {refKey, ...rest} = arg;
return {
[refKey]:arg[refKey],
...rest
};
};

编辑

好吧,我想我误解了这个问题,现在已经理解了(!)。

如果默认属性被命名为'ref',您可以这样做:

problem = (arg: {refKey: string, ref: any} = {}) => {
const {refKey = 'ref', ...rest} = arg;
return {
[refKey]:arg[refKey],
...rest
};
};

关于javascript - 访问对象上具有默认值的字段时如何修复流程错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57397980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com