首页 > 解决方案 > 如何获取变量的文字名称?

问题描述

所以我真的厌倦了一直写出来console.log,所以我写了一个小函数clog,用来将参数传递给console.log.

然而,我想优化这一点,每当我传入一个变量时,它应该打印变量名,然后是值:

clog(i)     //=> i: 0
clog(myVar) //=>myVar: [1,2,3]

我该怎么做?

这是我目前拥有的:

const clog = (...args) => console.log(...args)

标签: javascript

解决方案


使用对象表示法,利用速记属性名称:

无论您在哪里将代码更改为 call clog(...),都将其更改回console.log调用,然后将变量传入对象包装器中。

console.log({ i }); // yields { i: 0 }
console.log({ myVar }); // yields { myVar: [1,2,3] }

想要记录很多东西?同样的交易:

console.log({ i, myVar }); // yields { i: 0, myVar: [1,2,3] }

想保留你的clog功能?还是一样的处理:首先用对象表示法包装任何你需要 varname 的东西,然后把它扔到你的自定义日志记录函数中。


推荐阅读