Javascript 在类内使用const和arrow函数时出现语法错误

Javascript 在类内使用const和arrow函数时出现语法错误,javascript,class,Javascript,Class,我正在研究一些CodeWars katas,我想知道:这种语法为什么会起作用 class SmallestIntegerFinder { findSmallestInt(args) { return Math.min(...args) } } …但另一个没有 class SmallestIntegerFinder { const findSmallestInt = args => Math.min(...args) } 这是打印的错误跟踪: const findSm

我正在研究一些CodeWars katas,我想知道:这种语法为什么会起作用

class SmallestIntegerFinder {
  findSmallestInt(args) {
    return Math.min(...args)
  }
}
…但另一个没有

class SmallestIntegerFinder {
  const findSmallestInt = args => Math.min(...args)
}
这是打印的错误跟踪:

const findSmallestInt = args => Math.min(...args)
      ^^^^^^^^^^^^^^^
SyntaxError: Unexpected identifier
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Object.<anonymous> ([eval]-wrapper:6:22)
    at 
    at evalScript (bootstrap_node.js:353:27)
    at run (bootstrap_node.js:122:11)
    at run (bootstrap_node.js:389:7)
    at startup (bootstrap_node.js:121:9)
    at bootstrap_node.js:504:3
const findsmalestint=args=>Math.min(…args)
^^^^^^^^^^^^^^^
SyntaxError:意外的标识符
在createScript上(vm.js:56:10)
在Object.runInThisContext(vm.js:97:10)
反对。([eval]-包装:6:22)
在
在evalScript(bootstrap_node.js:353:27)
运行时(bootstrap_node.js:122:11)
运行时(bootstrap_node.js:389:7)
启动时(bootstrap_node.js:121:9)
在bootstrap_node.js:504:3
我在其他Kata中使用第二种语法没有任何问题,但这是我第一次在类中使用它,所以我想它与我还没有学会的JavaScript类有关,或者与我目前正在逃避的其他东西有关


提前谢谢

这是因为这不是有效的语法。在类中,不使用变量绑定,如
const
let
var
来定义成员。语法很好,也很简单

然而,有一个建议将允许,类似于您的第二个示例。但是,您仍然不会使用
const
let
var
来定义这些


编辑:感谢@Bergi指出类/实例方法语法不是万能的,这只是定义方法的方式。

这是因为这不是有效的语法。在类中,不使用变量绑定,如
const
let
var
来定义成员。语法很好,也很简单

然而,有一个建议将允许,类似于您的第二个示例。但是,您仍然不会使用
const
let
var
来定义这些


编辑:感谢@Bergi指出类/实例方法语法不是万能的,这就是您定义方法的方式。

ES6不支持类文本中的字段。因为
class
正文不是可以容纳任意语句的块?您是否希望
const…=…
在对象文本中工作?ES6不支持类文本中的字段。因为
class
正文不是可以容纳任意语句的块?您是否希望
const…=…
在对象文本中工作?实际上,方法定义语法不是任何东西的简写,它是
正文中唯一有效的语法。请注意,与对象文字相比,也没有逗号。谢谢大家!我猜我的错误是考虑到函数和类方法可以使用相同的语法事实上,方法定义语法不是任何东西的简写,它是
主体中唯一有效的语法。请注意,与对象文字相比,也没有逗号。谢谢大家!我想我的错误是考虑到函数和类方法可以使用相同的语法