对象原型模式

时间:2018-09-13 20:53:01

标签: javascript design-patterns

我并不了解如何在类(es6)中使用Object.prototype模式;

这不是我的代码,我不确定我是否以正确的方式使用了Object.prototype

expectedBy project(':shared')

我应该使用其他东西吗?

1 个答案:

答案 0 :(得分:0)

在您的以下代码中:

class Course {
  constructor(title, author) {
    this.title = title;
    this.author = author;
  }
}


Course.prototype.toString = function(arguments) {
  console.log(this.title + "... Author: " + this.author);
};

var course_1 = new Course("Bootstrap 4", "Paul");
var course_2 = new Course("Design Patterns", "Paul");

course_1.toString();
course_2.toString();

一个类不过是语法糖,它类似于构造函数的功能。在以下示例中,我们可以观察到更多的深度:

class Person {
}

console.log(typeof Person);

Person类实际上是一个构造函数对象。就像普通的构造函数一样,我们可以通过将属性放在原型对象上来扩展原型。

在您的示例中:

Course.prototype.toString = function(arguments) {
  console.log(this.title + "... Author: " + this.author);
};

实际发生的情况是,您在Course构造函数对象上放置了一个名为toString的属性。