value = String(event.target.value || "")
当触发 textinputs keyup/keydown 事件时,我遇到了。
但我不确定什么时候event.target.value
不是字符串?这可能吗?什么时候有其他东西作为event.target.value
?
value = String(event.target.value || "")
当触发 textinputs keyup/keydown 事件时,我遇到了。
但我不确定什么时候event.target.value
不是字符串?这可能吗?什么时候有其他东西作为event.target.value
?
如果event.target
元素不是输入类型元素,则它将没有value
属性。例如,如果我单击 adiv
那么event.target
是一个没有value
.
不需要换行event.target.value || ''
,String()
因为它始终是 value(始终是 string 或undefined
)或在 value 为 的情况下为空字符串undefined
。
请参阅this fiddle进行演示。
它可能有助于分解该声明中发生的事情。关键部分是event.target.value || ""
在 String() 之前先评估。
意思是,它正在检查是否event.target.value
为空或未定义。如果它为空或未定义,它将使用空白字符串""
作为默认值。然后将该语句的结果传递给 String()。