How does js construct inheritance
Editor to share with you how js structure inheritance, I believe that most people do not know much about it, so share this article for your reference, I hope you will learn a lot after reading this article, let's go to understand it!
The parent class code is as follows:
/ / define an animal class function Animal (name) {/ / attribute this.name = name | | 'Animal'; / / instance method this.sleep = function () {console.log (this.name +' sleeping!') ;}} / / prototype method Animal.prototype.eat = function (food) {console.log (this.name + 'eating:' + food);}; Construction inheritance
Core: using the constructor of the parent class to enhance the subclass instance is tantamount to copying the instance properties of the parent class to the subclass (no prototype is used)
Function Cat (name) {Animal.call (this); this.name = name | | 'Tom';} / / Test Codevar cat = new Cat (); console.log (cat.name); console.log (cat.sleep ()); console.log (cat instanceof Animal); / / falseconsole.log (cat instanceof Cat); / / true
Features:
Solved the problem that subclass instances share parent class reference attributes in 1
When you create a subclass instance, you can pass parameters to the parent class
Multiple inheritance can be implemented (call multiple parent objects)
Disadvantages:
An instance is not an instance of a parent class, but an instance of a subclass
Can only inherit instance properties and methods of the parent class, not prototype properties / methods
Function reuse cannot be achieved, and each subclass has a copy of the parent class instance function, which affects performance
The above is all the content of the article "how js constructs inheritance". Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!