有一个类:classPoint{constructor(x,y){this.x=x;这个.y=y;}}如果我们在控制台输出它的实例:console.log(newPoint(10,20));控制台输出结果为:Point{x:10,y:20}那么如何只输出JSON格式而不输出类名“Point”呢?有的同学可能会用下面的方法:console.log(JSON.stringify(newPoint(10,20)))这种方法当然可以,输出如下:{"x":10,"y":20}但是每次输出都需要调用一次JSON.stringify,显得有点啰嗦。有没有更简洁的方法来做到这一点?答案是肯定的。实际上,如果你使用的是nodejs,当console.log输出类对象时,会调用inspect函数将对象序列化并打印出来。在node中,有一种方法可以自定义对象检查功能。在6.6.0以上的版本中,可以重写该类的util.inspect.custom函数。constutil=require('util');classPoint{constructor(x,y){this.x=x;这个.y=y;}toString(){constthat=this;返回JSON.stringify(that);}[util.inspect.custom](depth,options){returnthis.toString()}}版本8.x的文档:https://nodejs.org/docs/lates...在节点v10.12.0及更高版本上版本中使用了Symbol,可以重写[inspect]()函数。constinspect=Symbol.for('nodejs.util.inspect.custom');classPoint{构造函数(x,y){this.x=x;这个.y=y;}toString(){constthat=this;返回JSON.stringify(that);}[inspect](){returnthis.toString()}}console.log(newPoint(10,20));相关文档为:https://nodejs.org/api/util.h...
