Почему JSON.stringify не сериализует значения прототипа?

Я недавно работал с большим количеством разборов JSON и передачей Javascript в Node.js и браузерах и столкнулся с этой загадкой.

Любые объекты, которые я создал с помощью конструктора, не могут быть полностью полностью сериализованы через JSON.stringify, ЕСЛИ Я не инициализировал все значения внутри конструктора индивидуально! Это означает, что мой прототип становится практически бесполезным при разработке этих классов.

Может кто-то пролить свет на то, почему следующее несериализовать как я ожидаю?

var ClassA = function () { this.initialisedValue = "You can see me!" };
ClassA.prototype = { initialisedValue : "You can't see me!", uninitialisedValue : "You can't see me!" };
var a = new ClassA();
var a_string = JSON.stringify(a);

Что просходит:

a_string == {"initialisedValue ":"Ты можешь видеть меня!" }

Я бы ожидал:

a_string == {"initialisedValue ":"Ты можешь видеть меня!", "uninitialisedValue ":"Вы можете'не вижу меня! "}

Ответы на вопрос(3)

Ваш ответ на вопрос