作者:Marco Antonio Ghiani 发布日期:2019.09.18 原文链接:https://levelup.gitconnected.com/moving-beyond-console-log-8-console-methods-you-should-use-when-debugging-javascript-and-node-25f6ac840ada
你debug时或许没有使用过的超越console.log()的console方法!
每个JavaScript开发者都使用console.log('text')
。console
模块是JavaScript中最常见功能之一,而该API在Node中也有实现:
提供一个类似于浏览器提供的JavaScript控制台简单的调试控制台。
这是在Node.js文档页面上console
模块的定义。但是,更建议未使用过新技术的初学者使用在线教程学习,而不是阅读文档,这样会失去学习如何正确利用此新工具的100%潜力的机会。
在谈到控制台API时,新手通常仅使用console.log()
,console.warn()
或console.error()
之类的某些功能来调试其应用程序,而通常还有许多其他方法可以完美地完成调试。这些方法可以满足我们的要求并帮助提高调试效率。
本文旨在使用在Codeworks授课时的相关示例,展示一些最有趣的控制台方法。因此,让我们从“console”模块中查看8种最佳功能的列表。
console
下所有方法由全局实例中提供,因此不需要require('console')
。
console.assert
函数用于测试传递的参数是真还是假值。在传递的值为false
的情况下,该函数会在控制台打印第一个参数之后传递的额外参数,否则,代码执行将继续进行,而不会记录任何日志。
这两种情况都是true或false的断言
当想要检查值的存在同时不想输出无用数据(避免记录较长的属性列表等)时,assert方法特别有用。
这两种方法用于设置和清除计数器,以记录特定字符串在控制台中的输出次数:
计算并重置"Hello"字符串的打印次数
console.group
和console.groupEnd
在控制台中创建并结束一组日志。将标签作为console.group()
的第一个参数传递,以描述所打印的内容:
三组描述家庭角色的控制台打印
此方法可以更可读地描述表中的对象或数组内容:
User对象列表表
如果要在执行时检查代码的性能,可以使用Date API
创建一个开始时间戳,并用它来计算代码执行后的差异来解决该问题,像下面这样:
如果使用time
和timeEnd
方法,没有必要像上面那样使用Date API
,只需执行以下操作就可得到性能数据:
console.time返回了更准确的结果
只需三番钟,就可以学会使用Console API
中这么多实用的方法。在熟练使用这些方法后,您的开发速度将成倍提高,跟我一样爱上这些API
。
下一章我们来学习Node.js!