По сути, я хочу console.log () имя переменной, а не root в функции sum.
Ты не можешь. Когда вызывается ваша функция sum
, ей передается значение. Это значение является указателем на объект, и нет никакой связи с переменной, из которой поступил указатель. Если вы сделали это:
let tree = new TreeNode(1);
let x = y = tree;
sum(x);
sum(y);
не будет никакой разницы в двух вызовах sum()
. Каждому из них было передано одно и то же значение (указатель на объект TreeNode
), и в функции sum()
отсутствует ссылка на x
, y
или tree
.
Если вам нужна дополнительная информация (например, имя переменной) для целей отладки и / или ведения журнала, то вам, возможно, придется передать это дополнительное имя в функцию, чтобы вы могли зарегистрировать его.