Поговорим о консоли

Когда учишь js, все и везде используют console.log() для отладки и получения того, что в результате выдает код.

Но, когда в script editor вызываешь консоль, получаешь следующее:

Полное описание консоли есть на всеми любимом MDN и она по возможностям способна на большее, чем представлено в гугловом скрипт редакторе.

Мне стало интересно посмотреть, что из себя представляют все остальные методы консоли кроме лога и потому:

сonsole.error()

Выводит сообщение об ошибке.

function getConsoleError(){
  const text = "Error text"
  console.error(text)
}

Результат:

Консоль выводит «ошибку» красным цветом.

Где можно использовать? Например, в JavaScript Promise — try catch, когда происходит отклонение промиса

myPromise.catch(error => {
  
});

сonsole.warn()

Выводит предупреждающее сообщение.

function getConsoleWarn(){
  const text = "Warn text"
  console.warn(text)
}

Результат:

Консоль выводит предупреждение, выделяя его цветом, отличным от console.log()

сonsole.info()

Информационное сообщение. Отличие лога — в подстановке «Информация». Если вы знаете еще отличия — напишите в комментариях.

function getConsoleInfo(){
  const text = "Info Text"
  console.info(text)
}

Результат:

сonsole.time() + сonsole.timeEnd()

Пожалуй, самое интересное из всего вышеописанного — по сути таймер выполнения кода

Верну результаты консолей выше и посмотрю как быстро они выполняются:

function getConsoleTime(){
  console.time("Time1")

  getConsoleInfo()
  getConsoleWarn()
  getConsoleError()

  console.timeEnd("Time1")

}

Результат:

По таймеру Time1 видно что все процедуры заняли 5 миллисекунд.

Console.time, согласно MDN, запускает таймер с именем из переданного параметра. Можно запустить одновременно до 10,000 таймеров.

Class Logger

Это уже гугловый класс (недоступный, например в web app — там только через консоль в браузере), позволяющий разработчику записывать текст лога в журнал отладки.

Logger.log() аналогичен console.log() и останавливаться на нем смысла нет.

Logger.clean() не возвращает ничего, он просто чистит лог.

Logger.getLog()

Возвращает полный список сообщений в текущем журнале лога. И это проще понять на примере:

function getLoggerLog() {
 
  Logger.log("text 1")
  Logger.log("text 2")
  Logger.log("text 3")
  
  Logger.log(Logger.getLog())

}

Результат:

То есть очень удобная штука в случае, если весь лог того, что происходило, нужно отправить куда-то дальше, например для анализа.

Добавить комментарий