美文网首页
理解原型设计模式以及JavaScript中的原型规则

理解原型设计模式以及JavaScript中的原型规则

作者: 焦糖大瓜子 | 来源:发表于2019-05-26 15:50 被阅读0次

在不同的编程语言中,设计人员采用不同的方式来描述对象,最为常见的就是基于类面向对象语言,例如Java。
另外就是基于原型的方式来描述。
由于javaScript早期设计被要求模仿java,所以使用到this、new这类关键字。后面社区开始使用各种方式书写js面向对象,使之更为接近我们习惯的,基于类的面向对象形式。

何为原型?

  • 所有对象有私有字段[[prototype]],就是对象的原型
  • 读取一个对象的属性,如果对象本身没有,就是到对象的原型上找,知道原型为空,或者找到这个属性为止。

ES6中访问和操作原型的方式:
a. Object.create
b. Object.getPrototypof
c. Object.setPrototypeof

new操作发生了什么事情?

  • 以构造器的prototype属性为原型,创建对象;
  • 将this和调用参数传给构造器,执行;
  • 如果构造器放回的是对象则放回,否则放回第一步创建的对象。

ES6中类的基本写法,使用class关键字定义类,使用extend关键字实现继承。

 class Ractangle{
            constructor(height, width){
                this.height = height;
                this.width = width;
            }

            get area() {
                return this.calcArea();
            }
            calcArea() {
                return this.height * this.width;
            }
        }

相关文章

网友评论

      本文标题:理解原型设计模式以及JavaScript中的原型规则

      本文链接:https://www.haomeiwen.com/subject/jcaxtctx.html