Home > Article > Web Front-end > What is the prototype chain
The prototype chain is an important concept in JavaScript. It is the key to understanding object inheritance and property lookup mechanisms. In JavaScript, every object has a prototype object, and a prototype object is an object. Through the prototype chain, we can implement inheritance and share properties and methods.
The prototype chain mechanism is implemented through links between objects. Every object has a hidden __proto__
property that points to its prototype object. The prototype object can have its own prototype object, and so on, forming a chain, which is the prototype chain.
The following is a specific code example to help understand how the prototype chain works:
// 创建一个对象 var person = { name: "John", age: 30, greet: function() { console.log("Hello, my name is " + this.name); } }; // 创建一个新对象,并将其原型设置为person对象 var student = Object.create(person); student.id = "1001"; student.study = function() { console.log("I'm studying..."); }; // 创建一个再下一级的新对象,并将其原型设置为student对象 var undergraduate = Object.create(student); undergraduate.major = "Computer Science"; undergraduate.grade = 2; // 可以通过原型链进行属性和方法的继承 console.log(undergraduate.name); // 输出 "John" undergraduate.greet(); // 输出 "Hello, my name is John" // 可以访问原型对象上的属性和方法 console.log(undergraduate.age); // 输出 30 student.greet(); // 输出 "Hello, my name is John" // 可以在子对象上添加自己的属性和方法 console.log(undergraduate.id); // 输出 "1001" undergraduate.study(); // 输出 "I'm studying..."
In the above code, we first create a person
object, which Has name
, age
, and greet
attributes. Then we created a new object student
through the Object.create()
method, and set its prototype to the person
object, realizing inheritance. Finally, we created a new object undergraduate
through the Object.create()
method, and set its prototype to the student
object, forming a prototype chain.
Through the prototype chain, the undergraduate
object can access the properties and methods of the person
object, and can even access the properties and methods of the higher-level prototype object, achieving multi-level inherit.
The concept of prototype chain helps us understand the object inheritance and property lookup mechanism in JavaScript. It allows us to share and access the properties and methods of objects through a chain, improving code reusability and flexibility. At the same time, understanding the prototype chain can also help avoid some common mistakes and make better use of the inheritance mechanism in JavaScript.
The above is the detailed content of What is the prototype chain. For more information, please follow other related articles on the PHP Chinese website!