194 • Глава 6
// потом отображается стоимость содержимого
// корзины с доставкой:
costWithShipping(5);
Если бы в
sessionStorage
было записано значение числового типа, то в
окне результата
вы увидели бы значение 17. Но сумма в 12 долларов была записана в виде строки. Так как
в
JavaScript для сложения и для соединения строк используется один и тот же метод (знак
плюс), то JavaScript воспринимает эту операцию как
присоединение числа к строке, поэтому
в окне результата выводится значение 125 — намного больше реальной стоимости видео-
роликов Брюса! Происходящее за сценой называется
приведением типов: любые данные,
сохраняемые в
API хранилища, приводятся к строковому типу.
Наконец, важно отметить, что если вызывать
getItem
с несуществующим ключом, то API
вернет значение
null
. Если вы собираетесь использовать API хранилища для инициализа-
ции значений, что вполне возможно, то перед продолжением всегда выполняйте проверку
на
null
. Попытавшись обработать
null
как объект любого другого типа, вы сами себе
вставите огромные палки в колеса.
Достарыңызбен бөлісу: