为什么util.inherits()的用法不鼓励?

根据Node.js文档:

注意:不鼓励使用util.inherits() 。 请使用ES6类并扩展关键字以获得语言级别的inheritance支持。 另请注意,这两种风格在语义上是不兼容的。

https://nodejs.org/api/util.html#util_util_inherits_constructor_superconstructor

正如引用所述,你应该使用ES6 classextends关键字来获得语言级别的inheritance支持,而不是utils.inherits ,这正是使用它的原因是不鼓励的:有更好的select是核心语言的一部分,就这样。
util.inherits来自这些utils不是语言的一部分,它需要大量的样板来定义你自己的inheritance工具。
现在,语言提供了一个有效的select,而使用库本身提供的语言是没有意义的。 当然,只要你使用计划来使用ES6,这是真的 – 否则忽略这个注释并继续使用utils.inherits


回复你的评论:

util.inherits()如何更复杂?

这不是一个或多或less复杂的问题。 出于显而易见的原因,使用核心语言特性应该是使用特定库的替代方法的首选方式。