我是JavaScript新手,但我来自Python和Java。我知道在这两种语言中,当输入是一个对象时,有一些方法可以更改控制台输出的内容。
//Java example:
public class myClass{
public toString(){
return ("This is an object!");
}
}
myClass obj = new myClass();
System.out.println(obj); //Prints "This is an object!"然而,当我为JS寻找一个示例时,我发现现有的toString()要求我每次都这样做:
Console.log(obj + '')为了实现所需的输出,否则它将只打印默认的对象文本。有什么方法可以和Java做同样的事情吗?
发布于 2022-01-02 01:51:00
我想您可以创建自己的函数,对其参数显式调用toString并对其进行记录:
const obj = { toString() { return 'foo' } };
const myLog = obj => console.log(obj.toString());
myLog(obj);
没那么多,但我想这可能是你能做的最好的了。您也可以用该函数覆盖console.log,但这是个坏主意。
我不建议更改默认行为。让对象本身被记录,没有副作用(并且没有一个非对象被记录)是每一个正在调试的开发人员所期望的。
https://stackoverflow.com/questions/70553097
复制相似问题