@Error404G

Почему через prompt не записываются данные?

Всем привет! Я только в начале изучения JS. У меня через prompt не записываются данные, не сохраняются в count. Подскажите, пожалуйста, в чем ошибка? Это не единственная функция в объекте.
let numberOfFilms = '';

let personalMoviDB = {
  count: numberOfFilms,
  movies:{},
  actors:{},
  genres:[],
  privat: true,

  start: function() {
    
    numberOfFilms = +prompt('Сколько фильмов вы уже посмотрели?',''); 

    while (numberOfFilms == '' || numberOfFilms == null || isNaN(numberOfFilms)) {
      numberOfFilms = +prompt('Сколько фильмов вы уже посмотрели?','');
    }
    console.log(personalMoviDB)
  },
};

personalMoviDB.start();
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
не сохраняются в count
Вы в свойство count один раз записываете значение из переменной numberOfFilms. Но эта переменная не становится таким образом магически связана с этим свойством и меняя её значение вы не меняете значение свойства объекта.
Работающий код будет выглядеть так:
let personalMoviDB = {
  count: NaN,
  movies:{},
  actors:{},
  genres:[],
  privat: true,
  start: () => {
    personalMoviDB.count = +prompt('Сколько фильмов вы уже посмотрели?',''); 

    while (isNaN(personalMoviDB.count)) {
      personalMoviDB.count = +prompt('Сколько фильмов вы уже посмотрели?','');
    }
    console.log(personalMoviDB)
  },
};

personalMoviDB.start();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы