javascript - 如何获取变量的文字名称?
问题描述
所以我真的厌倦了一直写出来console.log
,所以我写了一个小函数clog
,用来将参数传递给console.log
.
然而,我想优化这一点,每当我传入一个变量时,它应该打印变量名,然后是值:
clog(i) //=> i: 0
clog(myVar) //=>myVar: [1,2,3]
我该怎么做?
这是我目前拥有的:
const clog = (...args) => console.log(...args)
解决方案
使用对象表示法,利用速记属性名称:
无论您在哪里将代码更改为 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 的东西,然后把它扔到你的自定义日志记录函数中。
推荐阅读
- typescript - 如何在 Typescript 中访问匿名对象中的类参数?
- javascript - 反应原生在状态数组中添加新项目
- c++ - 如何使用继承Threadsafe制作QString
- keras - Keras 网络处理两个输入图像
- angular - Angular router.navigate 未重定向到目标页面
- javascript - 有没有办法在数组中获取复选框的选中值?[反应]
- reactjs - 类型 '(props: Props) => Element' 不可分配给类型 'FunctionComponent
>' 与 React-final-form - perl - 如果每个字段没有使用 sed/awk/perl 用引号括起来,则为每个字段添加引号
- node.js - 如何解决“这可能不是 npm 的问题。上面可能有额外的日志输出”?
- cocoa - 在 NSAttributedString 中用另一个替换 NSColor