我不时在代码中使用它。我想知道这是一个空字符还是类似的东西?
console.log("")
返回undefined
。
typeof ""
返回string.
Object.prototype.toString.call("")
返回字符串。
如何在ascii或unicode中表示空字符串?这是一个更大的问题。
答案 0 :(得分:5)
console.log
不返回任何内容,因此返回值始终为undefined
。在这方面,空字符串没什么特别的。
空字符串不包含空字符或类似内容。它根本不包含任何字符。你可以把它想象成一个空数组。它只是一个容器(在某种意义上),它可以包含任意数量的字符,但恰好是空的。
答案 1 :(得分:4)
是console.log("");
return
未定义,但这是因为log
总是return
s 未定义。在控制台中的 undefined 之上应该有一个空行,即记录的空字符串。如果您使用console.warn
,则此空日志会更明显,因为它会有警告标志。
仍然是unicode / ascii中的表示
空字符串为零字节长。这意味着它在这些中没有任何表示,除了你想要描述它的琐碎空洞之外。它将以 falsy 方式运行。
if ("") 1;
else 0;
// gives 0
如果您将字符表示为字节的数组,例如使用 Uint8Array ,那么
var emptyString = new Uint8Array(0); // length 0
emptyString; // []