миксины в js

Урок с хорошоего сайта.
Хочу уточнить правильно ли я понимаю создание миксинов что описывается в уроке

// примесь **1
var sayHiMixin = {
  sayHi: function() {
    alert("Привет " + this.name);
  },
  sayBye: function() {
    alert("Пока " + this.name);
  }
};

// использование:
function User(name) {
  this.name = name;
}

// передать методы примеси  **2
for(var key in sayHiMixin) User.prototype[key] = sayHiMixin[key];

// User "умеет" sayHi
new User("Вася").sayHi(); // Привет Вася

В **1 создается обект с методами, в **2 перебираются все свойства этого миксина и в прототипе нового объекта создается ключ, значение которого является ссылка на методы миксина.
Правильно ли я понял?

Да, все верно. В методах объектов, созданных с помощью new User(), будут содержаться ссылки на методы миксина.

new User().sayHi === sayHiMixin.sayHi // true