Модуль util в Node.js

Одним из часто используемых модулей Node.JS является модуль util. В этой заметке мы рассмотрим встроенный в этот модуль метод util.inspect().

Метод util.inspect() дает возможность, что называется, красиво вывести любой объект, причем даже в том случае, если данный объект будет иметь ссылку на самого себя, как в примере ниже:

Теперь запустим:

Мы можем воочию убедиться в том, что все действительно обработалось красиво. Причем если у объекта существует свойство «inspect», и это свойство равно функции, то данная функция будет вызвана и как раз ее результат и будет возвращен.

Еще пример:

Мы сделали функцию «inspect».

И нам вернулось «123». Следовательно, поведение метода «util.inspect()» напоминает «toString», причем данный метод используется консолью автоматически, когда она желает залогировать какой-нибудь объект.

Теперь мы убрали «util.inspect()» и…

…все работает точно так же, а все потому, что в действительности консоль вызывает его внутри.

Правда, иногда все же надо явно обращаться к «util.inspect()», и особенно это касается тех случаев, когда у нас есть желание вывести что-либо не в консоль, а, к примеру, получить строчное представление объекта с целью вывода в файл. Вдобавок к этому, существуют дополнительные параметры «util.inspect()», с помощью которых мы можем, к примеру, задать глубину вывода объекта, однако применяются они довольно редко.

Впрочем, более подробно об этом всегда можно почитать в официальной документации: https://nodejs.org/api/util.html#util_util_inspect_object_options.

По материалам блога https://imnotgenius.com/.