为什么 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
}
}
我在 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
}
}