我遇到了一个有趣的问题。我有一个带有可选字段的表单。在提交时,我尝试将一个空字段赋给一个变量时遇到了一个错误。如果该字段为空,我想将其赋为false。如何正确地做到这一点?写多个if对我来说似乎是一个疯狂的想法。
`async function submit(e) {
const name = e.target.name.value
const adress = e.target.adress.value
const comment = e.target.comment.value
}`
我尝试这样,但仍然得到错误
`async function submit(e) {
const name = e.target.name.value || false
const adress = e.target.adress.value || false
const comment = e.target.comment.value || false
}`
- 类型错误:无法读取未定义的属性(读取"value")**
2条答案
按热度按时间9ceoxa921#
您遇到的问题是
name
、address
或comment
中有一个是undefined
。您可以通过可选的链接和空合并(
??
)来解决这个问题:如果您使用的是旧版本的JavaScript,它不支持上面提到的特性,您必须使用更详细的语法:
ie3xauqp2#
无论您是使用三元运算符还是空合并,