Я новичок в 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былundefinedi.e Если он наследует от функцииEmp(name), почему он не ссылается на эту функцию? -
Как я могу четко предсказать себя, не набрав в консоли то, что прототип, или конструктор, или prototype.constructor...... дает