这5个 console.log() 技巧帮你提高工作效率

开发 前端
本文主要介绍5个有用的技巧,可帮助你在使用console.log()时提高工作效率。

我们知道 console.log(message)用法很简单,表示将参数message 打印到控制台上。

  1. console.log('前端小智') 
  2. // 前端小智 
  3.  
  4. const myAge = 28 
  5. console.log(myAge) // 28 

本文主要介绍5个有用的技巧,可帮助你在使用console.log()时提高工作效率。

1. 打印全名变量

如果在控制台打印多个变量,是数量比较多的情况下,我们很难区别哪个变量对应哪个值。

  1. function sum(a, b) { 
  2.   console.log(b); 
  3.   return a + b; 
  4.  
  5. sum(1, 2); 
  6. sum(4, 5); 

执行上述代码后,我们只会看到一系列数字:

这5个 console.log() 技巧帮你提高工作效率 

要表示值和变量之间关系,可以用花括号把变量包起来:{b}:

这5个 console.log() 技巧帮你提高工作效率

2. 高级格式化

将某些东西打印到控制台最常见方法是简单地使用一个参数调用console.log():

  1. console.log('前端小智') // 前端小智 

有时我们可能想要一条包含多个变量的信息。幸运的是,console.log()可以使用%s,%i等说明符以sprintf()的方式格式化字符串。

  1. const user = '前端小智'
  2. const attempts = 5
  3.  
  4. console.log('%s 登录失败了 %i 次', user, attempts); 
  5. // 前端小智 登录失败了 5 次 

%s和%i被user和attempts的值替换。说明符%s转换为字符串,而%i转换为数字。

以下是可用说明符的列表:

说明符作用%s元素转换为字符串%d 或 %i元素转换为整数%f元素转换为浮点数%o元素以最有效的格式显示%O元素以最有效的格式显示%c应用提供的CSS

具有样式的打印风格

浏览器控制台允许我们将样式应用于打印的消息,我们可以通过将%c说明符与相应的CSS样式一起使用来实现,如下所示:

  1. console.log('%c Big message', 'font-size: 36px; font-weight: bold'); 

说明符%c应用CSS样式'font-size: 36px; font-weight: bold'

这5个 console.log() 技巧帮你提高工作效率

4. 交互展示

日志样式化依赖于主机的控制台实现。像Chrome和Firefox这样的浏览器提供对象和数组的交互展示,而 Node 控制台输出为文本。

来看看Chrome如何打印普通对象,数组和DOM树,可以通过展开和折叠与这些元素进行交互。

(1) Objects

  1. const myObject = { 
  2.   name: 'John Smith', 
  3.   profession: 'agent' 
  4. }; 
  5.  
  6. console.log(myObject); 

在Chrome控制台中,myObject的打印如下所示:

这5个 console.log() 技巧帮你提高工作效率

可以展开和折叠对象属性列表,也可以看到对象的原型。

(2) Arrays

  1. const characters = ['Neo', 'Morpheus', 'John Smith'];  
  2. console.log(characters); 

这5个 console.log() 技巧帮你提高工作效率

(3) DOM 树结构

我们可以直接与控制台中显示的DOM元素进行交互。

  1. console.log(document.getElementById('root')); 

在Chrome控制台中,可以扩展DOM元素,并可以全面浏览其内容:

这5个 console.log() 技巧帮你提高工作效率

(4) 交互式嵌套里的消息

%o说明符(为值关联了正确的打印格式)可以在文本消息中插入数组,对象,DOM元素和常规文本,而不会失去交互性。

  1. const myObject = { 
  2.   name: 'John Smith', 
  3.   profession: 'agent' 
  4. }; 
  5.  
  6. console.log('Neo, be aware of %o', myObject); 

从控制台看,myObject数组不会转换为字符串,而是保持交互性。

这5个 console.log() 技巧帮你提高工作效率

5. 在 Node 控制台中打印大对象

Node中的log以纯文本形式输出。但是,Node 中的console.log()不会显示具有深层嵌套的对象:第3级的对象显示为[Object]。

  1. const myObject = { 
  2.   propA: { 
  3.     propB: { 
  4.       propC: { 
  5.         propD: 'hello' 
  6.       } 
  7.     } 
  8.   } 
  9. }; 
  10.  
  11. console.log(myObject); 

运行脚本时,propC的对象打印为[Object]:

这5个 console.log() 技巧帮你提高工作效率

要查看完整的对象结构,可以使用JSON.stringify():

  1. const myObject = { 
  2.   propA: { 
  3.     propB: { 
  4.       propC: { 
  5.         propD: 'hello' 
  6.       } 
  7.     } 
  8.   } 
  9. }; 
  10.  
  11. console.log(JSON.stringify(myObject, null, 2)); 

JSON.stringify(myObject, null, 2)返回该对象的JSON表示形式,第三个参数2在空格中设置缩进大小。

这5个 console.log() 技巧帮你提高工作效率

希望这5个技巧可以使你使用 console.log() 体验更加高效。

 

责任编辑:赵宁宁 来源: 今日头条
相关推荐

2019-08-30 14:25:03

Vim命令Linux

2009-05-14 11:43:56

2018-06-11 10:38:56

Vim使用技巧

2011-09-13 19:46:57

2009-05-15 16:36:34

EclipseIDE效率

2011-03-22 14:57:58

2012-03-12 13:35:10

开发

2020-11-26 10:29:01

Redis

2023-10-24 17:45:31

AI

2019-04-10 05:57:43

Linux命令Linux命令

2019-12-29 15:41:42

终端命令Unix系统

2020-03-20 11:49:20

Linux命令技巧

2009-07-06 13:38:29

JSPInitJSPDestory

2014-03-20 16:18:30

码农工作效率

2012-07-04 15:42:22

Web

2023-05-15 06:55:27

ChatGPTPrompt

2019-04-03 09:58:00

GitHub代码开发者

2018-08-29 20:00:11

Linux命令行命令行别名

2021-06-07 14:36:58

iPadSiri办公

2014-10-28 14:47:01

程序员Java
点赞
收藏

51CTO技术栈公众号