То, что я обычно делаю, это просто сохранить значение в LocalStore как логическое, а затем получить с помощью метода синтаксического анализа, просто для всех браузеров. Мой метод ниже настроен для моей бизнес-логики. Иногда я мог бы хранить smth как «нет» и все еще нуждаюсь в false
взамен
function toBoolean(str) {
if (typeof str === 'undefined' || str === null) {
return false;
} else if (typeof str === 'string') {
switch (str.toLowerCase()) {
case 'false':
case 'no':
case '0':
case "":
return false;
default:
return true;
}
} else if (typeof str === 'number') {
return str !== 0
}
else {return true;}
}