Метод console.log
достаточно популярен у пишущих на JavaScript — он позволяет выводить отладочную информацию, справляясь как со скалярными данными, так и с объектами.
Недавно выяснил, что иногда console.log
ведёт себя подобно функции printf
из си-подобных языков: первый свой аргумент воспринимает как описание формата, где ищет начинающиеся с процента последовательности, а выводимые по описанному формату данные начинаются со второго аргумента. Так, например,
console.log('%d', 77/64)
выведет целое число 1, а
console.log('%f', 77/64)
выдаст 1.203125, что получилось бы и без '%f'
. При этом бо́льшая часть знакомых по Си или Перлу форматов вообще не работает — встретив такое, console.log
посчитает первый аргумент обычной строкой, которую надо вывести — так
console.log('%x', 48879)
выведет %x 48879 вместо ожидаемого слова beef.
Но зато у console.log
нашёлся формат %c
, позволяющий применить к выводимому тексту стили, заданные вторым параметром — так можно раскрашивать вывод
Пример использования — codepen.io/jscottsmith/pen/VLzMLo