我在尝试运行 JS 条件检查空字符串时遇到了这个错误。在 Chrome 调试器中,空字符串的计算长度为 1,有时甚至为 2。它发生在 React 应用程序中。我完全不知道原型(prototype)如何仍然正常工作,但正常的长度方法却没有。
最佳答案
如果字符串包含非正常字符的字符,则当您询问其值时,该字符串可能看起来明显是空的。这些字符串可以通过 String.fromCharCode
方法或像 '\x0d'
一样隐式生成。诸如 Enter 之类的字符将显示为空字符串。您可以使用 charCodeAt
方法检查不可见字符。
如 Matus 所示,这将复制有问题的行为:
v = '\x0d'
console.log(v); // ""
console.log(typeof v); // "string"
console.log(v[0]); // ""
console.log(v.length); // "1"
关于javascript - 空字符串的长度怎么可能大于 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53562580/