gpt4 book ai didi

javascript - 使用 Number() 设置后,对象属性被视为 null,即使它记录为具有值

转载 作者:行者123 更新时间:2023-12-02 21:25:31 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题,除非我明确将该字段设置为数字值,否则我无法访问已定义的对象的字段。

我正在尝试使用以下内容访问该字段

if (userCache[mem.id][action.field]) {

这个 if block 没有被输入。我在这个条件之前使用 console.log() 处理上面的值,它显示的值是 0,这是它之前设置的:

if (!isNaN(action.fieldvalue)) {
valToSet = Number(action.fieldvalue);
} else {
valToSet = action.fieldvalue;
}
userCache[mem.id][action.field] = valToSet;

其中action.fieldvalue是我要设置的值,但它是一个字符串。如果我使用 = 0 而不是 = Number() 设置值,那么我就可以在条件中正确访问它。

最佳答案

这应该可以帮助您理解场景:

$ node
> const a = '0';
> const b = Number('0');
> if (a) { console.log("true") } else { console.log("false") }
> if (b) { console.log("true") } else { console.log("false") }

澄清一下,“0”字符串不是假值,因为它不为空,但 0 数字才是。

关于javascript - 使用 Number() 设置后,对象属性被视为 null,即使它记录为具有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60750232/

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