Discord.js 空值检查在 TypeScript 中不起作用
Posted
技术标签:
【中文标题】Discord.js 空值检查在 TypeScript 中不起作用【英文标题】:Discord.js Null checking not working in TypeScript 【发布时间】:2020-06-23 02:05:23 【问题描述】:我一直试图让我的 discord 机器人在 TypeScript 中工作,但我遇到了一个问题。我正在尝试执行 msg.reply(string),但它显示“无法调用可能为‘null’的对象。”即使我只是检查它是否为空。这是我当前的代码:
import Discord = require("discord.js");
const client: Discord.Client = new Discord.Client();
client.on("ready", () =>
console.log(`connected as $client.user?.tag`);
);
client.on("message", msg =>
if (msg == null)
return;
msg.reply("hi");
);
我知道如果我关闭严格的空检查,我可以避免它,但我宁愿保持它。
任何帮助将不胜感激,谢谢!
编辑:
这是 VS-Code 编译器给我的:
app.ts:14:5 - error TS2721: Cannot invoke an object which is possibly 'null'.
14 msg.reply("hi");
~~~~~~~~~
Found 1 error.
The terminal process terminated with exit code: 2
【问题讨论】:
【参考方案1】:在条件块中粘贴使用msg
的代码,例如:
client.on("message", msg =>
if (msg)
msg.reply("hi");
);
【讨论】:
感谢您的快速回复,但这似乎并没有改变任何事情。我仍然遇到同样的错误。 对不起!您能否将完整的编译器输出添加到您的示例中,还请确保它是最小且可重现的......以上是关于Discord.js 空值检查在 TypeScript 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章