Вы можете создать объект JavaScript с ключами 'wildcard' или 'catch-all', используя Proxy и функцию getter. В отличие от предоставляемых решений, прокси должен работать практически в любой среде, включая Node.js
var foo = new Object()
var specialFoo = new Proxy(foo, {
get(target,name) {
// do something here
return name
}
})
console.log(specialFoo.blabla) // this will output "blabla"
Если вы хотите, чтобы свойства вызывались, просто верните функцию:
var specialFoo = new Proxy(foo, {
get(target,name) {
return function() {
console.log('derp')
return name
}
}
})
specialFoo.callMe() // this will print derp
Подробности: документация по Mozilla