鍍金池/ 問(wèn)答/HTML/ js繼承中constructor的指向

js繼承中constructor的指向

問(wèn)題描述

js中說(shuō)所有的實(shí)例都默認(rèn)繼承自O(shè)bject類(lèi)。
但是為什么自定義構(gòu)造函數(shù)的實(shí)例的constructor屬性不指向Object,而指向構(gòu)造它的構(gòu)造函數(shù)呢?

問(wèn)題出現(xiàn)的環(huán)境背景及自己嘗試過(guò)哪些方法

相關(guān)代碼

// 請(qǐng)把代碼文本粘貼到下方(請(qǐng)勿用圖片代替代碼)

你期待的結(jié)果是什么?實(shí)際看到的錯(cuò)誤信息又是什么?

回答
編輯回答
挽歌

最終繼承自 Object ,不是默認(rèn)。好好看看原型鏈!

    class A {
    }    
    
    let a = new A()
    
    function proto (instance) {
      if (!instance) return
      console.log('=============', instance.__proto__.constructor);
      proto(instance.__proto__)
    }

    proto(a)
    
    /*
        a
        ↓
        A
        ↓
        Object
    */ 
    
2017年4月13日 00:09