Я попытался стереть оператор if, и он все еще работал.
Только если myLastVisit
уже находится в localStorage
. Если его там нет (именно для этого if
проверяет), без if
вы получите ошибку от JSON.parse
, потому что вы передадите в нее undefined
, которая будет преобразована в строка с символами undefined
, потому что для JSON.parse
требуется строка, которая затем потерпит неудачу, потому что это неверно JSON. if
есть, поэтому, если настройка отсутствует, используются значения по умолчанию, назначенные timesVisited
и dateVisited
.
Работает, если настройка есть:
var timesVisited=0;
var dateVisited = 'Never';
var visit = JSON.parse(`{"numVisits": 2, "dateVisits": "2020-03-27"}`);
timesVisited = visit.numVisits;
dateVisited = visit.dateVisits;
console.log(timesVisited); // 2
console.log(dateVisited); // "2020-03-27"
Сбой, если это не так:
var timesVisited=0;
var dateVisited = 'Never';
var visit = JSON.parse(undefined); // ERROR
timesVisited = visit.numVisits;
dateVisited = visit.dateVisits;
console.log(timesVisited);
console.log(dateVisited);