У меня есть экземпляр Discord.js Сообщение, который, как определено в документации, должен иметь свойство .cleanContent
и должен быть строкой.
console.info(message.cleanContent)
работает как положено, ноconsole.info(message)
не регистрирует свойство cleanContent
.Object.keys(message)
не обнаруживает свойство cleanContent
.JSON.parse(JSON.stringify(message))
в свою очередь есть регистрируемый, видимый cleanContent
.for(key in message)
также не содержит список .cleanContent
.Итак, что здесь происходит?
Ошибка воспроизводится с таким количеством кода:
client.on("messageCreate", (message) => {
console.info(Object.keys(message))
})
Добавил снимок.
Это связано с тем, что это добытчик, как показано здесь. Похоже, что геттеры не регистрируются в node.js, в отличие от консоли разработчика моего браузера (Chrome). Геттеры различаются в разных средах, поэтому трудно найти решение.
Кажется, это так. Есть ли тогда способ «запустить» эти геттеры перед запуском Object.keys()
на объекте?
@almarc работает в моем браузере, геттеры отображаются как в цикле for, так и в Object.keys()
, однако node.js, похоже, не хочет его регистрировать
Не могли бы вы показать свой код?