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()。