roll(prevHash, prevWord, newWord) {
    let hash = prevHash;

    const prevValue = this.charToNumber(prevWord[0]);
    const newValue = this.charToNumber(newWord[newWord.length - 1]);

    let prevValueMultiplier = 1;
    for (let i = 1; i < prevWord.length; i += 1) {
      prevValueMultiplier *= this.base;
      prevValueMultiplier %= this.modulus;
    }

    hash += this.modulus;
    hash -= (prevValue * prevValueMultiplier) % this.modulus;

    hash *= this.base;
    hash += newValue;
    hash %= this.modulus;

    return hash;
  }
Function that creates hash representation of the word
based on previous word (shifted by one character left) hash value.

Recalculates the hash representation of a word so that it isn't
necessary to traverse the whole word again.

Time complexity: O(1).

@param {number} prevHash
@param {string} prevWord
@param {string} newWord
@return {number}