Javascript 为什么我必须在类中使用foo()而不是函数foo()?
为什么我必须在类中使用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,并与作为其一部分创建的对象建立牢不可破的链接)。虽然可以将语法设计为需要函数关键字,但它将
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() {
// ...
}
}