Учитывая код в вопросе точно , это невозможно, если вы не создадите новый экземпляр. С
name = 'default name'
вы присваиваете свойству name
объекта экземпляра. Затем с помощью
instance.name = 'new name';
вы перезаписываете свойство name
объекта экземпляра. 'default name'
больше не существует нигде в цепочке прототипов.
Итак, создайте новый экземпляр, чтобы снова запустить поле класса:
class MyClass {
name = 'default name'
}
let instance = new MyClass();
instance.name = 'new name';
const newInstance = new MyClass();
console.log(newInstance.name);
Лучшим вариантом было бы поместить значение по умолчанию в прототип . Таким образом, вы можете проверить свойство в прототипе или свойство в экземпляре:
class MyClass {
}
MyClass.prototype.name = 'default name';
let instance = new MyClass();
instance.name = 'new name';
console.log(instance.name);
console.log(MyClass.prototype.name);