打字稿':'预期
TypeScript ':' expected
我在使用 TypeScript 编译器时遇到问题,该编译器需要 :
in 17, 5 但我不明白为什么以及在哪里放置它,我的代码:
import { Client , TextChannel } from "discord.js";
module.exports = {
name: "ready",
run: async(client: Client) => {
client.user.setPresence({
activities: [{
name: "Aun en beta!"
}],
status: "idle"
})
let str = `-- censored --`
let channel: TextChannel;
channel = client.channels.cache.get('-- censored --')?
channel.send (str)
}
}
问题出在评论中提到的 ?
上。
你也忘记了我在你的代码中添加的许多 分号。
我编辑了你的洞代码,这里是:
如果你的意思是 ?
进行空检查,那么你必须将它放在其他地方......见下文
import { Client , TextChannel } from "discord.js";
module.exports = {
name: "ready",
run: async (client: Client) => {
client.user.setPresence({
activities: [{
name: "Aun en beta!"
}],
status: "idle"
});
let str = `-- censored --`;
let channel: TextChannel;
channel = client.channels.cache?.get('-- censored --');
// ^^ ^
// problem was here
channel.send(str);
}
};
在行尾 channel = client.channels.cache.get('-- censored --')?
由于 ?
编译器期望它作为条件(三元)运算符 (condition ? exprIfTrue : exprIfFalse
) 所以抛出 ':' expected
错误。
可能是打错了,应该是 channel = client.channels.cache.get('-- censored --');
或者应该是 channel = client.channels.cache?.get('-- censored --');
.
我在使用 TypeScript 编译器时遇到问题,该编译器需要 :
in 17, 5 但我不明白为什么以及在哪里放置它,我的代码:
import { Client , TextChannel } from "discord.js";
module.exports = {
name: "ready",
run: async(client: Client) => {
client.user.setPresence({
activities: [{
name: "Aun en beta!"
}],
status: "idle"
})
let str = `-- censored --`
let channel: TextChannel;
channel = client.channels.cache.get('-- censored --')?
channel.send (str)
}
}
问题出在评论中提到的 ?
上。
你也忘记了我在你的代码中添加的许多 分号。
我编辑了你的洞代码,这里是:
如果你的意思是 ?
进行空检查,那么你必须将它放在其他地方......见下文
import { Client , TextChannel } from "discord.js";
module.exports = {
name: "ready",
run: async (client: Client) => {
client.user.setPresence({
activities: [{
name: "Aun en beta!"
}],
status: "idle"
});
let str = `-- censored --`;
let channel: TextChannel;
channel = client.channels.cache?.get('-- censored --');
// ^^ ^
// problem was here
channel.send(str);
}
};
在行尾 channel = client.channels.cache.get('-- censored --')?
由于 ?
编译器期望它作为条件(三元)运算符 (condition ? exprIfTrue : exprIfFalse
) 所以抛出 ':' expected
错误。
可能是打错了,应该是 channel = client.channels.cache.get('-- censored --');
或者应该是 channel = client.channels.cache?.get('-- censored --');
.