【问题标题】:Got an Increment error "Invalid left-hand side expression in postfix operation"出现增量错误“后缀操作中的左侧表达式无效”
【发布时间】:2021-07-31 05:52:21
【问题描述】:

我有以下模块:

module.exports = {
    name: "reputation",
    aliases: ['rep','vouch'],
    category: "misc",
    /**
     * @param {Discord.Message} message
     * @param {Array} args
     */
    async execute(message, args) {
      if (args.length >= 2) { 
          args.shift();
        reason = args.join(' ');
      }else reason = 'No reason provided';
      let member = message.mentions.members.first();
      const repmessage = new Discord.MessageEmbed()
      .setTitle("Reputation Given!")
      .setDescription(`<a:peachverify:853511481747046420> You gave a reputation to ${member} for: \`${reason}\``)
      .setFooter(`Rep ID: ${1++}`)
      .setColor("#02b2f7")
      message.channel.send(repmessage)
    },
  };

但每当我尝试运行它时,都会出现错误:

后缀操作中的左侧表达式无效

我该如何解决这个问题?

【问题讨论】:

    标签: javascript discord.js


    【解决方案1】:

    在 JavaScript 中,数字是固定的。你不能增加一个数字,但你可以增加一个变量。

    let i = 1;
    console.log(i++) //shouldn’t throw
    

    执行1++ 就像执行以下操作:

    1 = 1+1
    

    这是一个明显的错误。

    【讨论】:

      【解决方案2】:

      这是因为您要增加一个数字。尝试运行以下 sn -p:

      console.log(1++)

      如果你想增加会员的声誉,你必须有一些可以增加的变量。我在您的代码中看不到任何内容,因此您需要修复它。

      无论如何,一旦您将声誉存储在某处,您就可以随意使用++

      let rep = 0
      console.log({ rep })
      rep++
      console.log({ rep })
      rep++
      console.log({ rep })

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-12
        • 2018-10-08
        相关资源
        最近更新 更多