gpt4 book ai didi

javascript - 自定义字符串而不是 console.log 中的 "Object"

转载 作者:行者123 更新时间:2023-12-01 03:20:03 24 4
gpt4 key购买 nike

为了方便调试,我认为最好打印一些自定义字符串,而不是在将对象记录到控制台时显示的默认Object

在下面的示例中,您将看到名为 example 的对象在记录到控制台时如何由 Object 标记,而 window 是记录到控制台时由 Window 标记。我猜想 __proto__["Symbol(Symbol.toStringTag)"] 属性可能是正确的选择,因为 window 设置为 Window.这不起作用,但也许我只是用错了它。

enter image description here

最佳答案

那是因为您使用了错误的符号 - 您走在正确的轨道上。 Symbol.toStringTag 是一个特殊的众所周知的 Symbol,Object#toString 使用它来为您提供控制台输出,特别是您要查找的标签。您不能像以前那样将其包装在字符串中,否则您实际上将设置 "Symbol.toStringTag" 属性,而不是实际的 Symbol:

const example = {
key: "value"
};

example.__proto__["Symbol.toStringTag"] = "Example";
console.log(example); //You set the literal "Symbol.toStringTag" property -- wrong

相反,不要将其括在引号中并实际设置符号:

const example = {
key: "value"
};

example.__proto__[Symbol.toStringTag] = "Example";
console.log(example);

这会产生(在 Chrome 上):

enter image description here

关于javascript - 自定义字符串而不是 console.log 中的 "Object",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45284564/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com