JSFiddle - React, Tailwind, and code Playground

JavaScript

var nextVarName = function(str) {
  // Position of char to change.
  var change = str.length - 1;
  // The value of that char.
  var change_char = str[change];
  // Number of zeros to append when flipping.
  var zeros = 0;
  // Iterate backwards while there's a z (flipping).
  while (change_char == 'z') {
    // Increase the length of appended zeros
    zeros++;
    // Move the char to change back.
    change_char = str[--change];
  }
  if (change_char == undefined) {
    // Full flip - string increases in length.
    str = 'a' + Array(str.length + 1).join("0");
  } else {
    // Normal increment with partial flip and 9->a handling.
    str = str.substr(0, change) + (change_char == '9' ? 'a' : String.fromCharCode(str.charCodeAt(change) + 1)) + Array(zeros + 1).join('0');
  }
  return str;
};

var vname = 'a';
for (var i = 0; i < 5; i++) {
  vname = nextVarName(vname);
  console.log(vname);
}