Что-то пробежался по треду одним глазом, но так и не понял зачем это нужно.
Для рекурсии ничего не мешает сделать так:
const factorial = function f() {
console.log(typeof f); // "function";
}
const factorial2 = factorial;
console.log(typeof factorial); // "function";
console.log(typeof factorial2); // "function";
console.log(typeof f); // "undefined";
factorial();
factorial2();
А для класса можно просто внутри использовать:
this.constructor
Например:
// ...
cloneObject() {
return new this.consructor(this.data);
}
// ...
Если Вам действительно нужно как-то получить имя функции, то это просто неправильный подход.
И не нужно смотреть на PHP. Все эти магические константы на PHP нужны для отладки, не более.