假设我们有以下代码:
const myVariable = { age: 7, name: "Hunter" };
我想知道变量的名称,而不仅仅是它的值,并将它放在一个字符串中或记录它,或者:
const s = nameof(myVariable) + ': ' + JSON.stringify(myVariable);
我想看到的结果是这样的:
"myVariable: {"age":7,"name":"Hunter"}"
期待看到您的解决方案。
假设我们有以下代码:
const myVariable = { age: 7, name: "Hunter" };
我想知道变量的名称,而不仅仅是它的值,并将它放在一个字符串中或记录它,或者:
const s = nameof(myVariable) + ': ' + JSON.stringify(myVariable);
我想看到的结果是这样的:
"myVariable: {"age":7,"name":"Hunter"}"
期待看到您的解决方案。
这是我自己的问答风格的答案,有点妥协。诀窍是通过将参数括在花括号中,将参数传递给对象内部的函数 nameof,就像这样,nameof({myVariable})
而不是nameof(myVariable)
.
按照这个约定,解决方案可能如下所示:
var HD = HD || {};
HD.nameof = function (obj) {
return Object.keys(obj)[0];
}
这就是我如何使用它来获取变量/对象的名称加上对象的内容/变量的值:
const s = HD.nameof({myVariable}) + ': ' + JSON.stringify(myVariable);
因此, s 将包含上述问题中要求的结果。