Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.09.2015, 00:46
Аспирант
Отправить личное сообщение для AirGraph Посмотреть профиль Найти все сообщения от AirGraph
 
Регистрация: 20.04.2015
Сообщений: 39

Config и конструктор объекта
Привет всем!

У меня есть конфиг по умолчанию, содержащий ВСЕ параметры и есть конфиг, передаваемый в конструктор, где указаны некоторые параметры. Вопрос - как проще всего совместить эти 2 конфига, чтобы заменить значения только тех свойств в конфиге по умолчанию, которые есть в переданном конструктору конфиге? Где-то видел в библиотеке как профессионалы это изящно делают, но найти не могу... :-)
Ответить с цитированием
  #2 (permalink)  
Старый 12.09.2015, 00:54
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

var foo = {
	foo: 'foo',
    bar: 'bar'
};

var bar = {
	foo: 'new foo',
    baz: 'baz'
};

var baz = Object.assign(foo, bar);

// это только для демонстрации через alert
alert(JSON.stringify(baz));


https://developer.mozilla.org/en-US/.../Object/assign
Ответить с цитированием
  #3 (permalink)  
Старый 12.09.2015, 10:40
Профессор
Отправить личное сообщение для novikov Посмотреть профиль Найти все сообщения от novikov
 
Регистрация: 19.11.2012
Сообщений: 178

Ext.apply
Ответить с цитированием
  #4 (permalink)  
Старый 12.09.2015, 15:58
Аспирант
Отправить личное сообщение для AirGraph Посмотреть профиль Найти все сообщения от AirGraph
 
Регистрация: 20.04.2015
Сообщений: 39

Lemme,
Спасибо! То, что надо.
Жаль не поддерживается во всяких сафари и т.п., а мне оно надо...

novikov,
Спасибо! Именно оно, то что где-то видел.

А еще у настоящих парней обычно написана для начала строка типа:

config = config || {};

Это на тот случай, что если конфига нет в формальных параметрах, то он станет объектом и далее его можно мерджить с конфигом по умолчанию, а если есть, то останется таким как был? Я правильно понимаю?
Ответить с цитированием
  #5 (permalink)  
Старый 12.09.2015, 16:02
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Цитата:
Это на тот случай, что если конфига нет в формальных параметрах, то он станет объектом и далее его можно мерджить с конфигом по умолчанию, а если есть, то останется таким как был? Я правильно понимаю?
Да.

alert(JSON.stringify(undefined || {}));
alert(JSON.stringify({foo: 'foo'} || {}));
Ответить с цитированием
  #6 (permalink)  
Старый 12.09.2015, 16:12
Аспирант
Отправить личное сообщение для AirGraph Посмотреть профиль Найти все сообщения от AirGraph
 
Регистрация: 20.04.2015
Сообщений: 39

Lemme,
Класс! Все ясно, спасибо! ;-)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конструктор как свойство объекта kenrike Общие вопросы Javascript 5 01.05.2013 23:55
Как передать элемент jquery в конструктор объекта? nip jQuery 5 09.10.2012 13:08
Понимание ООП в JavaScript kefi Общие вопросы Javascript 160 25.09.2012 21:30
Передать переменную в конструктор объекта {} hominini Общие вопросы Javascript 11 25.12.2011 08:34
Можно ли получить имя экземпляра объекта внутри самого объекта? Ichigeki Общие вопросы Javascript 9 14.11.2008 19:00