空字符串的长度怎么可能大于 0?

Jer*_*ied 5 javascript prototype string-length

我在尝试运行 JS 条件检查空字符串时遇到了这个错误。在 Chrome 调试器中,空字符串的计算长度为 1,有时甚至为 2。它发生在 React 应用程序中。我对 proto 仍然如何正常工作感到非常困惑,但正常的长度方法却没有。

在此处输入图片说明

Jer*_*ied 3

如果字符串包含非正常字符,则当您询问其值时,该字符串可能会显示为空。这些字符串可以通过 方法生成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"
Run Code Online (Sandbox Code Playgroud)