打字稿':'预期

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 --');.