Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как избежать кода obj.__proto__ = {} ? (https://javascript.ru/forum/misc/34477-kak-izbezhat-koda-obj-__proto__-%3D-%7B%7D.html)

danik.js 06.01.2013 17:48

Как избежать кода obj.__proto__ = {} ?
 
Есть код:

ENV.$ini = {};
ENV.$ini.__proto__ = opts.ini;

Как его можно переписать? Возможно ли без создания дополнительной переменной (без создания конструктора)

monolithed 06.01.2013 18:06

Цитата:

Сообщение от danik.js
Как его можно переписать?

Что вы хотите сделать в конечом счете?
Пока что эти обгрызки кода никому не о чем не говорят!

var object = {
   __proto__: {
        a: 1
   }
};
alert(object.a);


Цитата:

Сообщение от danik.js
Возможно ли без создания дополнительной переменной (без создания конструктора)

Конструктор и переменная это разные понятия:

var object = function() {}; // конструктор

var foo = new object; // создание экземпляра объекта (инстанцирование)

alert(foo.constructor.prototype === foo.__proto__);



И еще, __proto__ - не стандартное свойство, поэтому его использование должно быть очень обдумано

nerv_ 06.01.2013 18:25

как понял
ENV.$ini = Object.create( opts.ini );

danik.js 06.01.2013 18:52

nerv_, спасибо, то что нужно!
monolithed, извиняюсь, плохо описал задачу...

godofjavascript 08.01.2013 00:18

Object.create не кроссбраузерный к слову, пили эмулятор

nerv_ 08.01.2013 02:04

godofjavascript, https://github.com/kriskowal/es5-shim

godofjavascript 09.01.2013 02:17

danik.js, https://github.com/kriskowal/es5-shim


Часовой пояс GMT +3, время: 03:03.