При использовании JSON.stringify
на примитивах процесс строковой классификации должен быть в состоянии отразить тип примитива, которым он был изначально, так что десериализация с использованием JSON.parse
приводит к идентичнойкопия.Так, когда JSON.stringify
строка, вокруг строки помещаются двойные кавычки:
console.log(JSON.stringify('foo'));
Это должно отличать, например, строковую строку false
от строкового логического из false
(или строковой строки'23'
из строкового числа из 23
).
Таким образом, ваши тесты
JSON.stringify(objOne.fruit) === "strawberry"
не оцениваются в true
, потому что этопроверка того, содержат ли
'"strawberry"' === "strawberry"
строки при строковом преобразовании разделители в их первом и последнем указателях, тогда как исходные строки не имеют этих разделителей.