gpt4 book ai didi

javascript - JS 检查数值属性是否存在

转载 作者:行者123 更新时间:2023-12-01 01:37:48 25 4
gpt4 key购买 nike

我使用如下示例来检查对象上是否存在属性。

const payload ={payment:0}

if(payload && payload.payment){
console.log(payload.payment)
}else{
console.log('Issue')
}

但它失败并返回 0(零)值。

这个问题是关于一个具有整数键的对象,当键值为零时,大多数其他答案都不起作用。

最佳答案

要查看您可以编写的对象 payload 中是否存在属性 payment

'payment' in payload

或者如果您想知道该属性是否直接在对象中定义(而不是通过原型(prototype)继承),请说

payload.hasOwnProperty('payment')

当表达式 payload. payment 的值为 0 时,当用作 bool 值时将产生 false。这是因为以下值始终表现得像 false:

  • 0
  • NaN
  • 未定义
  • 空字符串

这些值的技术术语是“假”,即“假”。因此,因为 0 是假值,所以每当您编写 !payload. payment 时,对于 0false,该值实际上是 true > 对于其他一切。使用上述两种技术之一(inhasOwnProperty)检查丢失的属性。

关于javascript - JS 检查数值属性是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52680838/

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