@Gray.n.Grey is gives some great advice, but I suspect you like applying what you learn to something you relate to personally. I learn like that too.
You define two objects with the following code (for sake of argument let’s say they are unrelated).
let myFullName = {first: "Bushra", _$Second: "Abdulsalam", _Last: "Ghames"};
let myFullNameAgain = {first: "Bushra", _$Second: "Abdulsalam", _Last: "Ghames"};
A mixin is defined to give some functionality unrelated objects. So, now you have two unreated objects (e.g. myFullName & myFullNameAgain) and a mixin as defined below.
Specifically, the mixin gives the ‘whatever’ method to an object.
Then, in your final line of code, you give only the myFullNameAgain object the new functionality and print it to the console which correctly displays ‘Undefined’. ‘Undefined’ is the correct output since the method was never executed.