作为一名 Javasc++rIPt 开发人员,理解原型至关重要。它们是 javascript 面向对象编程模型的支柱。让我们来解开这个强大的概念:
? 什么是原型
原型是 javascript 对象相互继承功能的一种机制。 javascript 中的每个对象都有一个原型,它充当模板对象。
? 原型继承
原型继承是一个对象可以从另一个对象继承属性和方法的功能。这与 java 或 c++ 等语言中的经典继承不同,其中类从其他类继承。
立即学习“Java免费学习笔记(深入)”;
? 原型链
当您尝试访问对象的属性时,javascript 首先在对象本身上查找它。如果没有找到,它会查找原型链,直到找到该属性或到达链的末尾。
1 2 3 4 |
|
在这里,rabbit 从它的原型 animal 继承了 eats 属性。
?️构造函数和原型:
构造函数使用原型在所有实例之间共享方法:
1 2 3 4 5 6 7 8 9 10 |
|
所有 dog 实例现在共享 bark 方法,节省内存。
? 修改内置原型:
您甚至可以扩展内置对象,但要小心:
1 2 3 4 5 6 |
|
⚠️ 陷阱:
- 修改内置原型可能会导致命名冲突。
- for…in 循环也会迭代继承的属性。
- object.create(null) 创建没有原型的对象。
?专业提示: 使用 object.getprototypeof() 检查对象的原型,并使用 object.setprototypeof() 更改它(尽管这会影响性能)。
理解原型是掌握 javascript 的关键。它们支持强大的 oop 模式,并且是语言在幕后工作方式的基础。