В ES6 у нас есть хорошо известные символы, чтобы разоблачить некоторые ранее внутренние методы, вы можете использовать его для определения того, как итераторы работают для этого объекта:
var p = {
"p1": "value1",
"p2": "value2",
"p3": "value3",
*[Symbol.iterator]() {
yield *Object.keys(this);
}
};
[...p] //["p1", "p2", "p3"]
это даст тот же результат, что и для ... в цикле es6.
for(var key in p) {
console.log(key);
}
Но важно знать, какие возможности у вас есть с помощью es6!
Я сказал бы, что палка с той, которую Вы знаете, пока Вы не чувствуете себя уверенно относительно него и целое понятие. После того, что у Вас будет лучшее решение выбрать платформу, которые выполняют Ваши потребности.
Я использую Единицу без настоящих проблем. Я знаю, что несколько людей типа ALT.NET предостерегают от Единицы, но я действительно думаю, что это только из-за истории, которую команды P&P MS имеют записи раздутого программного обеспечения. Единица еще не чрезмерно увеличена в размере IMO и работы хорошо.
Я смотрел на Платформу Единицы, но нашел, что это было немного 'слишком большим' для моих потребностей (не, я не могу действительно определить количество этого, это просто, казалось, потребовало намного большего знания, что другие платформы, с которыми я играл... это, были только что, таким образом, возможно, что это изменяется, поскольку Единица была разработана/совершенствована).
Моей текущей платформой МОК/внедрения зависимости является Ninject. Это быстро, быстро, и я смог пойти от чтения учебных руководств (приблизительно 10 минут) к использованию его в существующем ранее проекте приблизительно через два часа.
Если бы Вы ищете очевидный способ, чтобы сделать внедрение зависимости, я настоятельно рекомендовал бы проверку его.
Я играл с CompositeWPF (иначе Призма) - преемник блока Составного приложения. На основе моего опыта Единица работает намного лучше по сравнению с предыдущей версией ObjectBuilder. Однако Вам решать оценить платформы МОК и выбрать ту, которой удовлетворяют для Ваших потребностей.