Javascript 为什么我必须在类中使用foo()而不是函数foo()?

Javascript 为什么我必须在类中使用foo()而不是函数foo()?,javascript,Javascript,为什么我必须在类中使用foo()而不是函数foo() class car { move() { console.log("move") } } let a = new car() a.move() function move() { console.log("move") } move() 因为类的语法就是这样设计的。这些是方法声明,而不是函数声明(方法是函数,但可以访问super,并与作为其一部分创建的对象建立牢不可破的链接)。虽然可以将语法设计为需要函数关键字,但它将

为什么我必须在类中使用foo()而不是函数foo()

class car {
  move() {
    console.log("move")
  }
}
let a = new car()
a.move()

function move() {
  console.log("move")
}
move()

因为
类的语法就是这样设计的。这些是方法声明,而不是函数声明(方法是函数,但可以访问
super
,并与作为其一部分创建的对象建立牢不可破的链接)。虽然可以将语法设计为需要
函数
关键字,但它将是冗长的、不必要的,并且可以说是误导性的;所以TC39(推动JavaScript向前发展的委员会)决定不包括它


旁注:您也可以在对象初始值设定项中使用方法语法,但与
主体不同,它与任何其他属性声明一样,必须用逗号将其与其他属性分开:

const o = {
    foo() {
        // ...
    },                // <=== Note the comma
    bar() {
        // ...
    }
};

很好的回答,+1来自我!
class Example {
    foo() {
        // ...
    }
    bar() {
        // ...
    }
}