prototype和proto的關係是什麼?
prototype是顯式原型,它是指向函數的原型對象。(函數創建之後就會產生prototype屬性)
- 顯式原型的作用:用來實現基於原型的繼承與屬性的共享
proto是隱式原型,它所指向的是創建這個對象的函數(constructor)的prototype
, 可以通過 object.setPrototypeOf();來獲得一個對象的proto屬性;- 隱式原型的作用:構成原型鏈,同樣用於實現基於原型的繼承。舉個例子,當我們訪問obj這個對象中的x屬性時,如果在obj中找不到,那麼就會沿着proto依次查找。