0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Одним из часто используемых модулей Node.JS является модуль<strong>util</strong>. В этой заметке мы рассмотрим встроенный в этот модуль метод util.inspect().</p>
1
<p>Одним из часто используемых модулей Node.JS является модуль<strong>util</strong>. В этой заметке мы рассмотрим встроенный в этот модуль метод util.inspect().</p>
2
<p>Метод util.inspect() дает возможность, что называется,<strong>красиво</strong>вывести любой объект, причем даже в том случае, если данный объект будет иметь ссылку на самого себя, как в примере ниже:</p>
2
<p>Метод util.inspect() дает возможность, что называется,<strong>красиво</strong>вывести любой объект, причем даже в том случае, если данный объект будет иметь ссылку на самого себя, как в примере ниже:</p>
3
<p>Теперь запустим:</p>
3
<p>Теперь запустим:</p>
4
<p>Мы можем воочию убедиться в том, что все действительно обработалось красиво. Причем если у объекта существует свойство "inspect", и это свойство равно функции, то данная функция будет вызвана и как раз ее результат и будет возвращен.</p>
4
<p>Мы можем воочию убедиться в том, что все действительно обработалось красиво. Причем если у объекта существует свойство "inspect", и это свойство равно функции, то данная функция будет вызвана и как раз ее результат и будет возвращен.</p>
5
<p>Еще пример:</p>
5
<p>Еще пример:</p>
6
<p>Мы сделали функцию "inspect".</p>
6
<p>Мы сделали функцию "inspect".</p>
7
<p>И нам вернулось "123". Следовательно, поведение метода "util.inspect()" напоминает "toString", причем данный метод используется консолью автоматически, когда она желает залогировать какой-нибудь объект.</p>
7
<p>И нам вернулось "123". Следовательно, поведение метода "util.inspect()" напоминает "toString", причем данный метод используется консолью автоматически, когда она желает залогировать какой-нибудь объект.</p>
8
<p>Теперь мы убрали "util.inspect()" и…</p>
8
<p>Теперь мы убрали "util.inspect()" и…</p>
9
<p>…все работает точно так же, а все потому, что в действительности консоль вызывает его внутри.</p>
9
<p>…все работает точно так же, а все потому, что в действительности консоль вызывает его внутри.</p>
10
<p>Правда, иногда все же надо явно обращаться к "util.inspect()", и особенно это касается тех случаев, когда у нас есть желание вывести что-либо не в консоль, а, к примеру, получить строчное представление объекта с целью вывода в файл. Вдобавок к этому, существуют дополнительные параметры "util.inspect()", с помощью которых мы можем, к примеру, задать глубину вывода объекта, однако применяются они довольно редко.</p>
10
<p>Правда, иногда все же надо явно обращаться к "util.inspect()", и особенно это касается тех случаев, когда у нас есть желание вывести что-либо не в консоль, а, к примеру, получить строчное представление объекта с целью вывода в файл. Вдобавок к этому, существуют дополнительные параметры "util.inspect()", с помощью которых мы можем, к примеру, задать глубину вывода объекта, однако применяются они довольно редко.</p>
11
<p>Впрочем, более подробно об этом всегда можно почитать в официальной документации:<em>https://nodejs.org/api/util.html#util_util_inspect_object_options.</em></p>
11
<p>Впрочем, более подробно об этом всегда можно почитать в официальной документации:<em>https://nodejs.org/api/util.html#util_util_inspect_object_options.</em></p>
12
<p><em>По материалам блога https://imnotgenius.com/.</em></p>
12
<p><em>По материалам блога https://imnotgenius.com/.</em></p>
13
13