Skip to content Skip to sidebar Skip to footer

How To Console Log The Name Of A Variable/function?

I want to do this: log(variableOrFunction) And be able to produce this: variableOrFunction: actualValue. I tried this: export const log = (value) => { console.log('' + value +

Solution 1:

You can log them with a pair of braces around them ({}), which will create an object with the name of the variable as the key:

function someFunction() {};

const someOtherFunction = () => {};

const someValue = 9;

console.log({someFunction});
console.log({someOtherFunction});
console.log({someValue});

const renamed = someFunction;

console.log({renamed})

Solution 2:

Would this work for you?

const log = function() {
  const key = Object.keys(this)[0];
  const value = this[key];
  console.log(`${key}:${value}`);
}

let someValue = 2;

log.call({someVlaue}); //someValue:2

Works with function too, even itself.

log.call({log});

// It would return the following
log:function() {
  const key = Object.keys(this)[0];
  const value = this[key];
  console.log(`${key}:${value}`);
}

Solution 3:

If “value” is of type Object. You can try console.dir(value) instead of the long console.log, and you should be able to see the Object tree key: value pairs in a better formate in the console


Solution 4:

The "value" is of type Object. Use JSON.stingify to see in details,

export const log = (value) => {
  console.log('' + value + ':', JSON.stringify(value))
  console.log(JSON.stringify(value))
}

Solution 5:

You can’t achieve this within the JS interpreter the way you have described. There is no way to get the name of a variable inside of your log function.

You can only do it inside of the caller of your log function, by converting the calling function to a string and parsing the code and grabbing the variable name passed to your log function.

You could try to get the caller of the log function and do what I have described but I would not recommend this.


Post a Comment for "How To Console Log The Name Of A Variable/function?"