Spec-Zone.ru › Deno 2

console

Модуль node:console предоставляет простую консоль для отладки, похожую на механизм консоли JavaScript, доступный в веб-браузерах.

Модуль экспортирует два компонента:

  • Класс Console с такими методами, как console.log(), console.error() и console.warn(), которые можно использовать для записи в любой поток Node.js.
  • Глобальный экземпляр console, настроенный для записи в process.stdout и process.stderr. Глобальный объект console можно использовать без импорта модуля node:console.

Предупреждение: методы глобального объекта console не являются последовательно синхронными, как похожие на них API браузеров, и не являются последовательно асинхронными, как все остальные потоки Node.js. Дополнительную информацию см. в разделе note on process I/O.

Пример использования глобального объекта console:

console.log('hello world');
// Prints: hello world, to stdout
console.log('hello %s', 'world');
// Prints: hello world, to stdout
console.error(new Error('Whoops, something bad happened'));
// Prints error message and stack trace to stderr:
//   Error: Whoops, something bad happened
//     at [eval]:5:15
//     at Script.runInThisContext (node:vm:132:18)
//     at Object.runInThisContext (node:vm:309:38)
//     at node:internal/process/execution:77:19
//     at [eval]-wrapper:6:22
//     at evalScript (node:internal/process/execution:76:60)
//     at node:internal/main/eval_string:23:3

const name = 'Will Robinson';
console.warn(`Danger ${name}! Danger!`);
// Prints: Danger Will Robinson! Danger!, to stderr

Пример использования класса Console:

const out = getStreamSomehow();
const err = getStreamSomehow();
const myConsole = new console.Console(out, err);

myConsole.log('hello world');
// Prints: hello world, to out
myConsole.log('hello %s', 'world');
// Prints: hello world, to out
myConsole.error(new Error('Whoops, something bad happened'));
// Prints: [Error: Whoops, something bad happened], to err

const name = 'Will Robinson';
myConsole.warn(`Danger ${name}! Danger!`);
// Prints: Danger Will Robinson! Danger!, to err

Использование в Deno

import * as mod from "node:console";

интерфейс Console

Использование в Deno

import { type Console } from "node:console";

Свойства

Console: console.ConsoleConstructor

Методы

assert(
value: any,
message?: string,
...optionalParams: any[],
): void

console.assert() выводит сообщение, если value имеет ложное значение или не указано. Метод только выводит сообщение и никак иначе не влияет на выполнение. Вывод всегда начинается с "Assertion failed". Если указано, message форматируется с помощью util.format().

Если value имеет истинное значение, ничего не происходит.

console.assert(true, 'does nothing');

console.assert(false, 'Whoops %s work', 'didn\'t');
// Assertion failed: Whoops didn't work

console.assert();
// Assertion failed
clear(): void

Если stdout является TTY, вызов console.clear() попытается очистить TTY. Если stdout не является TTY, этот метод ничего не делает.

Конкретное действие console.clear() может различаться в разных операционных системах и типах терминалов. В большинстве операционных систем Linux console.clear() работает примерно так же, как команда оболочки clear. В Windows console.clear() очищает только вывод в текущей области просмотра терминала для двоичного файла Node.js.

count(label?: string): void

Поддерживает внутренний счетчик, относящийся к label, и выводит в stdout количество вызовов console.count() с указанным label.

> console.count()
default: 1
undefined
> console.count('default')
default: 2
undefined
> console.count('abc')
abc: 1
undefined
> console.count('xyz')
xyz: 1
undefined
> console.count('abc')
abc: 2
undefined
> console.count()
default: 3
undefined
>
countReset(label?: string): void

Сбрасывает внутренний счетчик, относящийся к label.

> console.count('abc');
abc: 1
undefined
> console.countReset('abc');
undefined
> console.count('abc');
abc: 1
undefined
>
debug(
message?: any,
...optionalParams: any[],
): void

Функция console.debug() является псевдонимом log.

dir(
obj: any,
options?: InspectOptions,
): void

Применяет util.inspect() к obj и выводит полученную строку в stdout. Эта функция обходит любую пользовательскую функцию inspect(), определенную для obj.

dirxml(...data: any[]): void

Этот метод вызывает console.log(), передавая ему полученные аргументы. Метод не выполняет форматирование в XML.

error(
message?: any,
...optionalParams: any[],
): void

Выводит данные в stderr с переводом строки. Можно передать несколько аргументов: первый используется как основное сообщение, а все остальные — как значения для подстановки, подобно printf(3) (все аргументы передаются в util.format()).

const code = 5;
console.error('error #%d', code);
// Prints: error #5, to stderr
console.error('error', code);
// Prints: error 5, to stderr

Если в первой строке не найдены элементы форматирования (например, %d), для каждого аргумента вызывается util.inspect(), после чего полученные строковые значения объединяются. Дополнительную информацию см. в разделе util.format().

group(...label: any[]): void

Увеличивает отступ последующих строк на количество пробелов, равное длине groupIndentation.

Если указан один или несколько label, они выводятся первыми без дополнительного отступа.

groupCollapsed(...label: any[]): void

Псевдоним group.

groupEnd(): void

Уменьшает отступ последующих строк на количество пробелов, равное длине groupIndentation.

info(
message?: any,
...optionalParams: any[],
): void

Функция console.info() является псевдонимом log.

log(
message?: any,
...optionalParams: any[],
): void

Выводит данные в stdout с переводом строки. Можно передать несколько аргументов: первый используется как основное сообщение, а все остальные — как значения для подстановки, подобно printf(3) (все аргументы передаются в util.format()).

const count = 5;
console.log('count: %d', count);
// Prints: count: 5, to stdout
console.log('count:', count);
// Prints: count: 5, to stdout

Дополнительную информацию см. в разделе util.format().

table(
tabularData: any,
properties?: readonly string[],
): void

Пытается построить таблицу со столбцами, соответствующими свойствам tabularData (или использует properties), и строками, соответствующими tabularData, а затем выводит ее. Если аргумент не удается разобрать как таблицу, выводится только он сам.

// These can't be parsed as tabular data
console.table(Symbol());
// Symbol()

console.table(undefined);
// undefined

console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }]);
// ┌─────────┬─────┬─────┐
// │ (index) │  a  │  b  │
// ├─────────┼─────┼─────┤
// │    0    │  1  │ 'Y' │
// │    1    │ 'Z' │  2  │
// └─────────┴─────┴─────┘

console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a']);
// ┌─────────┬─────┐
// │ (index) │  a  │
// ├─────────┼─────┤
// │    0    │  1  │
// │    1    │ 'Z' │
// └─────────┴─────┘
time(label?: string): void

Запускает таймер, с помощью которого можно вычислить длительность операции. Таймеры идентифицируются уникальным label. Чтобы остановить таймер и вывести прошедшее время в подходящих единицах измерения в stdout, при вызове timeEnd используйте тот же label. Например, если прошло 3869 мс, console.timeEnd() отображает «3.869s».

timeEnd(label?: string): void

Останавливает таймер, ранее запущенный вызовом time, и выводит результат в stdout:

console.time('bunch-of-stuff');
// Do a bunch of stuff.
console.timeEnd('bunch-of-stuff');
// Prints: bunch-of-stuff: 225.438ms
timeLog(
label?: string,
...data: any[],
): void

Для таймера, ранее запущенного вызовом time, выводит прошедшее время и другие аргументы data в stdout:

console.time('process');
const value = expensiveProcess1(); // Returns 42
console.timeLog('process', value);
// Prints "process: 365.227ms 42".
doExpensiveProcess2(value);
console.timeEnd('process');
trace(
message?: any,
...optionalParams: any[],
): void

Выводит в stderr строку 'Trace: ', за которой следуют отформатированное с помощью util.format() сообщение и трассировка стека до текущей позиции в коде.

console.trace('Show me');
// Prints: (stack trace will vary based on where trace is called)
//  Trace: Show me
//    at repl:2:9
//    at REPLServer.defaultEval (repl.js:248:27)
//    at bound (domain.js:287:14)
//    at REPLServer.runBound [as eval] (domain.js:300:12)
//    at REPLServer.<anonymous> (repl.js:412:12)
//    at emitOne (events.js:82:20)
//    at REPLServer.emit (events.js:169:7)
//    at REPLServer.Interface._onLine (readline.js:210:10)
//    at REPLServer.Interface._line (readline.js:549:8)
//    at REPLServer.Interface._ttyWrite (readline.js:826:14)
warn(
message?: any,
...optionalParams: any[],
): void

Функция console.warn() является псевдонимом error.

profile(label?: string): void

Этот метод ничего не отображает, если он не используется в инспекторе. Метод console.profile() запускает профилирование загрузки ЦП JavaScript с необязательной меткой до вызова profileEnd. Затем профиль добавляется на панель Profile инспектора.

console.profile('MyLabel');
// Some code
console.profileEnd('MyLabel');
// Adds the profile 'MyLabel' to the Profiles panel of the inspector.
profileEnd(label?: string): void

Этот метод ничего не отображает, если он не используется в инспекторе. Останавливает текущий сеанс профилирования загрузки ЦП JavaScript, если он был запущен, и выводит отчет на панель Profiles инспектора. Пример см. в описании profile.

Если этот метод вызван без метки, останавливается последний запущенный профиль.

timeStamp(label?: string): void

Этот метод ничего не отображает, если он не используется в инспекторе. Метод console.timeStamp() добавляет на панель Timeline инспектора событие с меткой 'label'.


интерфейс console.ConsoleConstructor

Использование в Deno

import { console } from "node:console";

Свойства

prototype: Console

интерфейс console.ConsoleConstructorOptions

Использование в Deno

import { console } from "node:console";

Свойства

stdout: WritableStream
stderr: WritableStream | undefined
необязательное
ignoreErrors: boolean | undefined
необязательное

Игнорировать ошибки при записи в базовые потоки.

colorMode:
boolean
| "auto"
| undefined
необязательное

Задает поддержку цвета для этого экземпляра Console. Значение true включает раскрашивание при проверке значений. Значение false отключает раскрашивание при проверке значений. Значение 'auto' означает, что поддержка цвета зависит от значения свойства isTTY и значения, возвращаемого getColorDepth() для соответствующего потока. Этот параметр нельзя использовать, если также задано inspectOptions.colors.

inspectOptions: InspectOptions | undefined
необязательное

Задает параметры, передаваемые в util.inspect().

groupIndentation: number | undefined
необязательное

Задает отступ группы.


пространство имен console

Использование в Deno

import { console } from "node:console";

Модуль console предоставляет простую консоль для отладки, похожую на механизм консоли JavaScript, доступный в веб-браузерах.

Модуль экспортирует два компонента:

  • Класс Console с такими методами, как console.log(), console.error() и console.warn(), которые можно использовать для записи в любой поток Node.js.
  • Глобальный экземпляр console, настроенный для записи в process.stdout и process.stderr. Глобальный объект console можно использовать без импорта модуля node:console.

Предупреждение: методы глобального объекта console не являются последовательно синхронными, как похожие на них API браузеров, и не являются последовательно асинхронными, как все остальные потоки Node.js. Дополнительную информацию см. в разделе note on process I/O.

Пример использования глобального объекта console:

console.log('hello world');
// Prints: hello world, to stdout
console.log('hello %s', 'world');
// Prints: hello world, to stdout
console.error(new Error('Whoops, something bad happened'));
// Prints error message and stack trace to stderr:
//   Error: Whoops, something bad happened
//     at [eval]:5:15
//     at Script.runInThisContext (node:vm:132:18)
//     at Object.runInThisContext (node:vm:309:38)
//     at node:internal/process/execution:77:19
//     at [eval]-wrapper:6:22
//     at evalScript (node:internal/process/execution:76:60)
//     at node:internal/main/eval_string:23:3

const name = 'Will Robinson';
console.warn(`Danger ${name}! Danger!`);
// Prints: Danger Will Robinson! Danger!, to stderr

Пример использования класса Console:

const out = getStreamSomehow();
const err = getStreamSomehow();
const myConsole = new console.Console(out, err);

myConsole.log('hello world');
// Prints: hello world, to out
myConsole.log('hello %s', 'world');
// Prints: hello world, to out
myConsole.error(new Error('Whoops, something bad happened'));
// Prints: [Error: Whoops, something bad happened], to err

const name = 'Will Robinson';
myConsole.warn(`Danger ${name}! Danger!`);
// Prints: Danger Will Robinson! Danger!, to err

Интерфейсы

console.ConsoleConstructor
Документация отсутствует
  • prototype
console.ConsoleConstructorOptions
Документация отсутствует
  • colorMode
  • groupIndentation
  • ignoreErrors
  • inspectOptions
  • stderr
  • stdout

См. также

  • исходный код

переменная console

Тип

Console

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/node/console

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API