为什么 Deno 会标记使用 nodejs 不会发生的语法错误?

Why does Deno flag a syntax error that does not happen using nodejs?

我在 Deno 上将 VB.Net 程序转换为 JS 到 运行。我写了一些 class 来创建 .Net ArrayList 组件所需的功能。如下所示:

  export class ArrayList extends Array {
    constructor() {
      super()
      this.add = (obj) => {
        super.push(obj)
      }
      this.item = (key) => {
        let obj = super.valueOf()[key]
        return obj
      }
      this.getUpperBound = () => {
        return super.valueOf().length - 1
      }
      this.clear = () => {
        super.valueOf().length = 0
      }
    }
  }

我在nodejs环境下测试,没有语法错误。但是在 Deno 环境中测试,我得到如下所示的错误。

Error formatting: src/plannerFiles/ClassArrayList.js
   Line 10, column 15: Expected ';', '}' or <eof>

  this.add(obj) {
                ~

第 10 行是:“this.add = (obj) => {”

我不知道如何解决这个问题。任何帮助将不胜感激。

像这样设置你的class

export class ArrayList extends Array {
    constructor() {
      super()
    }

    add = (obj) => {
      this.push(obj)
    }

    item = (key) => {
      let obj = this.valueOf()[key]
      return obj
    }

    getUpperBound = () => {
      return this.valueOf().length - 1
    }

    clear = () => {
      this.valueOf().length = 0
    }

}