Почему я не могу выйти из цикла, когда жму "Отменить"?

Почему не выходит из цикла, когда жмешь в окне prompt "Отменить". Цикл продолжает работать.

function getUserName() {

    let userName = prompt('Введите имя и фамилию нового пользователя: ');

    if (userName !== null) {

        let separatedName = splitString(userName, ' ');
        let firstName = separatedName[0];
        let lastName = separatedName[1];

        let newUser = new User(firstName, lastName);
        newUser.add(newUser);

    }
    else {

        let print = new UserList();

        print.getAllUsers();
        return null;

    }

    while (userName !== null) {

        getUserName();

    }

}

Ответы (1 шт):

Автор решения: Igor

А как локальная переменная userName станет null (чтобы цикл остановился) после вызова getUserName внутри while? Подумайте.

→ Ссылка