Переназначение часто путают со старшинством, они просто похожи по звучанию
(имеется в виду английское звучание этих терминов - прим. переводчика), но не по
действию. Старшинство блокирует старое значение, подменяя его новым, а
переназначение поступает именно так, как и называется - перезаписывает новое
значение "поверх" старого, безвозвратно уничтожая его. Скорее всего не
потребуется показывать пример переназначения, если вы имеете опыт случайной
записи двухкилобайтного теста поверх своего лучшего десятимегабайтного
FLA-файла, но в нашем "собачьем" случае это выглядит так:
Dog = function(){}
fido = new Dog();
fido.puffyHair = true;
fido.puffyHair = false;
У Fido была прическа puffyHair, но тут ему сделали нормальную
стрижку. Предыдущее значение утеряно и если хотите запомнить первоначальную
фидосовскую прическу, потребуется новое свойство экземпляра, что-то типа
fido.hadPuffyHair или нечто подобное. В конце-концов индивидуальность
имеет право быть зафиксированной индивидуально (как замечания в школьном
дневнике...)