那些年我不知道的console

在日常的代码调试中,console.log算是我们最常用的调试方法之一了。但对于console本身除了log外,还有哪些方法我并不是很清楚,因此利用了一下平时的空余时间,翻阅了一下MDN的问档,将console比较常用的方法过了一遍,算是增加一下自己调试代码的手段。

一、console.log({value})

在日常的打log中,我们经常使用诸如下面的方式来打印我们想要打印的数据:

console.log('value', value)
console.log('data', data)

但其实根本就无需这么麻烦,因为 ES6 中引入了enhanced object literal(增强对象文字面量),我们可以直接使用 console.log({value}) 的方式来打印出我们想要打印的数据,这样既可以提高log的可读性,也可以节省不少我们为log命名的时间,一举两得啊:

console.PNG

二、console.table()

除此之外,让我感到收获最多的就是console.table()了。console.table 适用于我们想要打印一个数组或者对象。它不仅可以更具数组中包含的对象的所有数学去计算出表的列名,而且这些列还是可以缩放甚至排序的。如图:

table.PNG

当我们需要打印多个数组或者对象的时候,我们也可以使用 console.table({value}) 来帮助我们搞事情,这个是由我们变量名称就会变成我们第一列的 index 了:

table1.PNG

是不是相当的花里胡哨的!

三、console.trace()

console.trace() 可以打印出函数的调用栈的信息,比如这样:

企业微信截图_15705191027838.png

四、console.time() and console.timeEnd()

console.time()和console.timeEnd(),可以用来显示代码的运行时间

企业微信截图_15706245177257.png

五、console.warn()

console.warn()简单来说就是对console.log最好的替换,它在功能上其实是和console.log()其实是一样的,但它还能对打印的东西进行凸显,具体表现如下:

企业微信截图_15706250828024.png

六、console.group()

当我们由很多console.log的时候我们就可以通过console.group()和console.groupEnd()来对这些打印进行分组,让打印信息显得更有条理:

[图片上传失败...(image-acecc0-1574775006687)]

企业微信截图_1570626318254.png