我使用带有discord.js的node.js为服务器创建私人聊天机会。
我有一个命令的代码来定义你与谁在战争。
如果在不和谐中我运行"!war"我会收到此错误独自:
TypeError:无法读取属性'长度'未定义的。
如果发生了什么?
if (msg.content.startsWith(prefix + "war")) {
let [name] = msg.content.split(' ').slice(1);
if (name.length < 16) {
war[id[msg.author.id]] = name;
msg.channel.send("You are now at war with **" + name + "**. Use !pp for war info.");
console.log("Command executed : !war");
fs.writeFile('war.json', JSON.stringify(war));
} else if (name.isNaN) {
msg.channel.send("Enter something.");
} else {
msg.channel.send("Enter something with less than 16 characters.");
}
}
答案 0 :(得分:1)
if (name.length < 16)
它正在尝试评估name.length并在此处失败。 我建议你写
if(name!=undefined && name.length && name.length<16)
答案 1 :(得分:0)
首先检查未定义的值并退出函数(如果是这种情况),然后在输入有效时执行一些操作。如果在你的情况下执行if,那么它会抛出异常