Получить название метода объекта из кода
Можно ли в коде метода объекта класса языка JavaScript получить название вызываемого метода?
Ответы (1 шт):
Автор решения: Mark Minerov
→ Ссылка
Такое возможно реализовать через Proxy:
class User {
constructor(name, surname) {
this.name = name
this.surname = surname
}
fullName() {
return `${this.name} ${this.surname}`
}
}
let user = new User("Mark", "Minerov")
user = new Proxy(user, {
get(target, property) {
if (typeof target[property] === 'function') {
console.log(`function ${property} was called!`)
}
return target[property]
}
})
console.log(user.fullName())