如何为 console.log() 中的每个值打印标签
How to print out a label for each value in console.log()
我无法弄清楚如何自定义 console.log() 以便它自动打印出我传递给它的每个参数的标签。比如我经常做这样的事情,这样就很清楚每条日志打印出来的是什么:
console.log('firstName: ', firstName);
我希望能够将其简化为:
my.log(firstName);
有没有办法将调用者参数的变量名传递给console.log()
?还是有另一种方法可以做到这一点?我希望我不必两次输入变量名,只需一次。理想情况下,打印出多个参数,每个参数在控制台的一行中都有自己的标签。我知道我可以访问参数列表,但我不知道如何对每个参数进行 un-eval() 以获取其变量名,如果这有意义的话。我希望这是我错过的超级简单的事情。
您可以使用 console.table() 以更易读的形式打印内容:
(去真实控制台看看)
var obj = {
firstName: "name",
lastName: "smith"
};
function log(obj) {
console.table(obj);
}
log(obj);
按你想要的方式做是不可能的(日志功能不知道你叫什么名字。)
我解决这个问题的方法是使用对象 shorthand {firstName}
创建一个临时对象。
然后您可以使用 .log
或 .table
来显示它:
const firstName = 'bob';
console.log({firstName});
console.table({firstName});
// It also works for multiple variables:
const lastName = 'smith';
console.log({firstName, lastName});
试试这个:
var my = {
log : function(name) {
console.log('firstName: ', name);
}
};
my.log("Rohit");
我无法弄清楚如何自定义 console.log() 以便它自动打印出我传递给它的每个参数的标签。比如我经常做这样的事情,这样就很清楚每条日志打印出来的是什么:
console.log('firstName: ', firstName);
我希望能够将其简化为:
my.log(firstName);
有没有办法将调用者参数的变量名传递给console.log()
?还是有另一种方法可以做到这一点?我希望我不必两次输入变量名,只需一次。理想情况下,打印出多个参数,每个参数在控制台的一行中都有自己的标签。我知道我可以访问参数列表,但我不知道如何对每个参数进行 un-eval() 以获取其变量名,如果这有意义的话。我希望这是我错过的超级简单的事情。
您可以使用 console.table() 以更易读的形式打印内容:
(去真实控制台看看)
var obj = {
firstName: "name",
lastName: "smith"
};
function log(obj) {
console.table(obj);
}
log(obj);
按你想要的方式做是不可能的(日志功能不知道你叫什么名字。)
我解决这个问题的方法是使用对象 shorthand {firstName}
创建一个临时对象。
然后您可以使用 .log
或 .table
来显示它:
const firstName = 'bob';
console.log({firstName});
console.table({firstName});
// It also works for multiple variables:
const lastName = 'smith';
console.log({firstName, lastName});
试试这个:
var my = {
log : function(name) {
console.log('firstName: ', name);
}
};
my.log("Rohit");