Как с помощью конструктора создать его же свойство?
А class это что? Если строка или число - switch-case (лучше в отдельном методе, GetInventoryForClass). Если это класс (как единица ООП) - то у самого класса и делайте GetInventory. Второй вариант красивее и правильнее, по идее.
Как выше уже писали, createPlayer не должна быть игроком, а должна быть фабрикой - т.е. просто создавать игрока. что-то типаclass BasePlayer {
  
}

class PlayerWithRole extends BasePlayer {
  constructor(properties) {
    super(properties);
  }
}

let playerFactory = function (role, properties) {
  let roles = {
    someRole: PlayerWithRole
  }
  return new roles[role](properties);
}