Создайте много экземпляров с шаблоном модуля - PullRequest
0 голосов
/ 05 марта 2019

У меня есть два файла:

let WordPair = function(wordA, wordB) {
  function doSomething() { ... };

  const smth = wordA + wordB;
  return {doSomething, smth};
};
module.exports = WordPair;

-

let wordpair = require('./WordPair.js')('dog', 'cat');
wordpair.doSomething();

Теперь это работает нормально, но я хочу создать множество экземпляров WordPair, например, так:

let arr = [];
for (let i = 0; i < 10; i++) {
  arr.push(new WordPair('xyz', 'abc'));
}

Другими словами: как вы будете использовать экземпляры класса в Java.Как правильно достичь этого в Javascript?

1 Ответ

0 голосов
/ 05 марта 2019

в javascript, вы можете использовать шаблон прототипа для достижения этого

предположим, что doSomething - это метод класса, который объединяет слова A и wordB

function WordPair(wordA, wordB){
    this.wordA = wordA;
    this.wordB = wordB;
}

WordPair.prototype.doSomething = function(){
    const something = this.wordA + this.wordB;
    console.log(something);
}

const wordPair = new WordPair('xyz', 'abc');

wordPair.doSomething();

или более es6 class way

class WordPair {

    constructor(wordA, wordB){
        this.wordA = wordA;
        this.wordB = wordB;
    }

    doSomething(){
        const something = this.wordA + this.wordB;
        console.log(something);
    }

}

const wordPair = new WordPair('xyz', 'abc');

wordPair.doSomething();
...