Значения хэш-функции по умолчанию

Я хотел бы иметь мешанину с params участники с дефолты значения по умолчанию:

var defaults = { item1: "def1", item2: "def2" };
var params = { item2: "param2", item3: "param3" };
var result =//some clever code here...
console.log(result);//{ item1: "def1", item2: "param2", item3: "param3" };

Самый умный код, который я могу выяснить, должен повторить дефолты участники и добавляют их в params , если они отсутствуют там. Интересно, есть ли некоторое встроенное решение вместо того, чтобы писать собственный код? Разработка прототипа кажется обещанием, но это только работает с функциональными объектами, которые я не хочу здесь. Какие-либо мысли?

0
nl ja de
Правда, но очень легко написать собственный короткий код. Интересно, есть ли некоторое встроенное решение?
добавлено автор Jan Turoň, источник
Я надеюсь некоторые ТАК, что пользователи более умны, чем авторы структуры;-)
добавлено автор Jan Turoň, источник
Эта функциональность обеспечивается в различных библиотеках JavaScript, таких как jQuery и Underscore.js. It' s часто называемый , продлевают .
добавлено автор lonesomeday, источник
То, что (a) те библиотеки обеспечивают его и (b) don' t используют встроенное решение в своих внедрениях, убедительно предполагает мне это там isn' t.
добавлено автор lonesomeday, источник

1 ответы

Если кому-либо все еще интересно: почти после двух лет я предполагаю, что умный код, упомянутый в вопросе, был бы

__proto__: Object.create(defaults)

Посмотрите пример:

var defaults = { item1: "def1", item2: "def2" };
var params = { item2: "param2", item3: "param3",
  __proto__: Object.create(defaults) };

for(var i in params) console.log(i,params[i]);
// item2 param2
// item3 param3
// item1 def1

Просто имейте в виду, что __ первичный __ устаревший, однако, хорошо поддержанный, в отличие от этого, setPrototypeOf() метод, предложенный связью. Давайте посмотрим, каково будущее будет.

0
добавлено
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском