Я новичок в JavaScript, чтобы понять эту концепцию, я прочитал много статей о прототипе и конструкторах, но где бы я ни был, я остался с путаницей.
Путаница возникает, когда люди говорят о конструкторе и прототипе одновременно.
В следующем примере
var employee = function Emp(name) {
this.name = name;
}
var jack = new employee("Jack Dwain");
employee.constructor //gives Function()
employee.prototype // gives Emp {}
employee.prototype.constructor //gives Emp(name)
jack.constructor //gives Emp(name)
jack.prototype //gives undefined
-
прототип - это способ, которым JS достигает наследования, поскольку
Emp(name)
- это прототип базовой функции, который ссылается на ту же самую функцию. Это то, что произошло? -
Чем отличаются
employee.constructor
иemployee.prototype.constructor
? -
Почему
jack.prototype
былundefined
i.e Если он наследует от функцииEmp(name)
, почему он не ссылается на эту функцию? -
Как я могу четко предсказать себя, не набрав в консоли то, что прототип, или конструктор, или prototype.constructor...... дает