Ответ 1
$log
сначала проверяет, поддерживает ли браузер console.log
(например, IE 8). Это предотвращает появление ошибок в IE 8. Примечание: это не означает, что он будет записывать что-либо в IE 8, это просто означает, что он не выкинет ошибку.
Кроме того, он также позволяет украшать и макет $log
для расширения и тестирования, если вы так склонны. Вы могли бы, например, украсить его для входа в массив для поддержки IE 8.
Бонусная функция: если вы передадите ему экземпляр JavaScript Error
, он попытается отформатировать его красиво. Это можно узнать, прочитав исходный код .
EDIT: "Дело не в том, что IE 8 не поддерживает console.log. Он просто не создает объект консоли до тех пор, пока инструменты dev не будут открыты". Подробнее см. Комментарии ниже.