我正在处理一些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
我在使用其他katas中的第二种语法时没有遇到任何问题,但这是我第一次在一个类中使用它,所以我想它与JavaScript类有关,我没有&#39;现在还没学到什么,或者其他什么东西正在逃避我。
提前致谢!
答案 0 :(得分:3)
因为那是无效的语法。在类中,您不使用const
,let
或var
等变量绑定来定义成员。语法很简单。
然而,有一项提案允许class fields,类似于您的第二个示例。但是,您仍然不能使用const
,let
或var
来定义这些内容。
编辑:感谢@Bergi指出类/实例方法语法对于任何事情都不是糖,这就是你如何定义方法。