为什么类中的javascript函数没有被提升?

为什么类中的javascript函数没有被提升?,javascript,ecmascript-6,Javascript,Ecmascript 6,未定义返回f2 鉴于: class A { f1() { f2(); } f2() {} } var a = new A(); console.log(a.f1()); 打印“f2” 我只是想知道为什么类中的函数不被提升? A类{ f1(){ 返回f2() } f2(){ 返回'f2' } } var a=新的a() console.log(a.f1()) A类{ f1(){ 返回f2() } f2(){ 返回'f2' } } var a=新的a() console.l

未定义返回f2

鉴于:

class A {
  f1() {
    f2();
  }
  f2() {}
}

var a = new A();

console.log(a.f1());
打印“f2”

我只是想知道为什么类中的函数不被提升?

A类{
f1(){
返回f2()
}
f2(){
返回'f2'
}
}
var a=新的a()
console.log(a.f1())
A类{
f1(){
返回f2()
}
f2(){
返回'f2'
}
}
var a=新的a()

console.log(a.f1())
的可能重复,因为它不是一个函数,而是一个方法,在不使用
的情况下调用它。
无论如何都是无效的?@imcvampire这是另一个问题。@Bergi的可能重复,我认为这也不是完全重复,因为它不引用将函数定义为类的一部分的用例。我认为这个问题很好,因为很容易将简写命名约定与在作用域中声明变量混淆。的可能重复,因为它不是一个函数,而是一个方法,在没有
的情况下调用它。
无论如何都是无效的?@imcvampire这是另一个问题。@Bergi的可能重复,我也不认为这是完全重复的,因为它没有引用将函数定义为类的一部分的用例。我认为这个问题很好,因为很容易混淆速记命名约定和在范围中声明变量。
{
  function f1() {
    return f2();
  }
  function f2() {
    return 'f2';
  }

  console.log(f1());
}