Javascript:IIfe在类构造函数之前调用

Javascript:IIfe在类构造函数之前调用,javascript,iife,Javascript,Iife,所以我只是在玩javascript,我用一个类定义了一个iife,这个类在类构造函数之前被调用 class-SomeClass{ 构造函数(){ log('调用了构造函数'); }; 有些人生=(()=>{ console.log('iLife called'); return()=>{} })() }; const someClass=新的someClass()根据类声明生成的构造函数实际上是: function SomeClass() { this.someIife = (()

所以我只是在玩javascript,我用一个类定义了一个iife,这个类在类构造函数之前被调用

class-SomeClass{
构造函数(){
log('调用了构造函数');
};
有些人生=(()=>{
console.log('iLife called');
return()=>{}
})()
};

const someClass=新的someClass()根据类声明生成的构造函数实际上是:

  function SomeClass() {
    this.someIife = (() => {
      console.log('iife called');
      return () => { 

      }
    })();
    console.log("constructor called");
  }

主体中的实例变量声明被转换为
this.something
构造函数主体中的初始化。这些初始化发生在实际的构造函数主体之前,因此构造函数代码可以使用实例值。

这有助于我个人避免将
声明视为其他语言中的“宏”而混淆。好吧,不应该
控制台.log(“调用构造函数”)
高于
这一点。someIide
?@AmolGupta否,因为构造函数体中的代码应该期望所有实例属性都已初始化。哦,这似乎是一个鸡毛蒜皮的问题,非常感谢。@AmolGupta我个人认为该功能也很尴尬。