【问题标题】:Output the variable name to console将变量名输出到控制台
【发布时间】:2020-07-29 17:01:24
【问题描述】:

我想通过使用变量将变量和变量名输出到控制台。这一定很简单,但我不知道该怎么做。所以我想要从下面的代码中得到的输出,但没有硬编码变量名。

const myVar = 10

console.log('myVar',myVar)

//OUTPUT myVar, 10

所以为了清楚说明,我希望变量名是从非硬编码的变量“myVar”以编程方式创建的,因为我想自动执行此操作。

我已经尝试过了


'[myVar]'
//doesn't work
myVar.name
//doesn't work

有人要求我解释原因

我写不下去了

console.log('myVar',myVar')

我想创建一个函数,该函数接受一个变量来将我想要的内容输出到控制台。

我试过了

const myVar = 10

const outVar = (myVar) =>{
console.log({somethingHere}, myVar)
}
//somethingHere is a placeholder for the correct syntax

outvar(myVar)
//expected Outcome  myVar, 10

【问题讨论】:

  • 编写泛型函数来执行此操作的问题是函数上的参数名称与传入值的原始变量无关。所以没有办法以这种方式获取名称。

标签: javascript variables console


【解决方案1】:

没有办法知道变量名。您可以将其作为具有简写属性名称的对象,尽可能接近您想要的。非常适合调试。

const myVar = 10
const myVar2 = 4

console.log({ myVar })
console.log({ myVar, myVar2 })

【讨论】:

  • 首先你必须知道变量名才能做到这一点。嘿,所以这仍然在尖叫“为什么”?
  • @Taplar 我已经这样做了,所以在调试时我不必跟踪它是什么,也不必输入很多。不知道为什么 OP 需要它。
  • @Taplar - 非常正确,但至少您只需输入一次,而不是两次。众所周知,我会这样做,因为我是一个懒惰的(调试)错误者。 :-)
  • 嗯,这很好。我也经常在调试的时候做console.log('x', x)。在这种情况下是有道理的。
  • 我已经添加了我为什么要这样做的解释。它只是我写了 console.log('myVar',myVar) 并想写一个函数来让它更快,意味着我可以格式化它。
猜你喜欢
  • 2012-09-18
  • 1970-01-01
  • 2021-01-16
  • 1970-01-01
  • 2015-07-21
  • 2013-04-27
  • 2021-12-30
  • 2019-02-13
  • 2023-04-05
相关资源
最近更新 更多