наследование свойств от Object 
		
		
		
		Может сможет кто помочь? 
	Хочу задать для Object свойство propertyName (это переменная, может принимать любое значение), чтобы все наследники получили доступ к этому свойству. Потом для наследника Object - object пытаюсь изменить значение этого свойства, но вместо этого создается новое свойство для object. 
const createNotEnumerableProperty = () => {
Object.defineProperty(Object.prototype, propertyName, {
  enumerable: true,
  configurable: true,
  writable: true,
  value: 'empty'});
return propertyName;  }
Вот код в html: 
</head>
 
<body>
 
<script src="final.js"></script>
  <script>
 
    const propertyName = 'property';
    const propertyValue = 'value';
 
    const property = createNotEnumerableProperty(propertyName);
    const object = {};
    object[property] = propertyValue;
 
  </script>
 
</body>
 
</html>
Буду рада любым мыслям по этому поводу)  | 
	
		
 мне нужно, чтобы  
	object[property] = propertyValue;изменило значение свойства Object, а вместо этого создается новое свойство объекта object :-E  | 
	
		
 Интересно... Унаследованное свойство есть, имеет значение, а объект пустой 
	
const createNotEnumerableProperty = () => {
Object.defineProperty(Object.prototype, propertyName, {
  enumerable: true,
  configurable: true,
  writable: true,
  value: 'empty'});
return propertyName;  }
   const propertyName = 'property';
    const propertyValue = 'value';
 
    const prop = createNotEnumerableProperty(propertyName);
    alert(prop);
    const object = {};
    alert(object.property);
    alert(object[prop]);
    alert(JSON.stringify(object));
 //  object.property = propertyValue;
 //   alert(JSON.stringify(object));
 | 
	
		
 Сделал свойство неперечисляемым через специальную функцию а потом удивляешься куда оно делось =). 
	https://developer.mozilla.org/ru/doc..._of_properties вдруг кому поможет.  | 
	
		
 да, мне и нужно сделать так, чтобы свойство было неперечисляемым( 
	 | 
	
		
 MallSerg, задача в том, чтобы можно было создать объект и присвоить значение неперечисляемому, наследумому от Object свойству 
	 | 
	
		
 MallSerg, 
	А у меня вместо того, чтобы присвоить значение наследуемому свойству, создается новое свойство(  | 
	
		
 Объект и его прототип это два разных объекта. 
	Проблема в том что к свойствам одного из этих объектов можно обратится с помощью наследования. Просто нужно вспомнить как ищется свойство у объекта. т.е. «object.property» и «object.__proto__.property» это два разных свойства у двух разных объектов. просто при вызове object.property создается новое свойство которое перекрывает свойство прототипа. По хорошему нужно сохранить ссылку на свойство в переменной и работать через него или же напрямую работать с Object.property вместо object.property у Dilettante_Pro все перечисляемое просто невнимательно посмотрел на свойства =).  | 
	
		
 MallSerg, 
	Да, спасибо, все верно) Только почему тогда даже такой код не работает: 
const createNotEnumerableProperty = () => {
Object.defineProperty(Object.prototype, propertyName, {
  enumerable: true,
  configurable: true,
  writable: true,
  value: 'empty'});
return '__proto__.property';  }
Просто для моего задания важно сохранить структуру записи object[property] = propertyValue;  | 
	
		
 MallSerg, 
	опять же создается новое свойство object.__proto__.property, которое не сохраняет атрибуты свойства объекта Object  | 
| Часовой пояс GMT +3, время: 17:49. |