Какой объект состояния передан history.pushState и что он делает?

Что передается stateObj history.pushState и что он делает?

Например, history.pushState(stateObj, title, url);

Ответ 1

Объект состояния как определено спецификацией, - это любой объект, который вы, автор, хотите связать с этим состоянием:

Страницы

Страницы могут добавлять объекты состояния между их записью в истории сеанса и следующей ( "прямой" ). Затем они возвращаются в script, когда пользователь (или script) возвращается в историю

MDN имеет более практичное (специфичное для Firefox) определение:

Объектом состояния может быть все, что вы можете передать JSON.stringify. Поскольку Firefox сохраняет объекты состояния на пользовательский диск, поэтому их можно восстановить после перезапуска браузера, мы накладываем ограничение размера на 640 тыс. Символов в представлении JSON объекта состояния.