JSFiddle - React, Tailwind, and code Playground
JavaScript
function dog(spec) {
var { name, breed } = spec,
{ say } = talker({ name }),
bark = function () {
if ( breed === 'chiuaua' ) {
say( 'Yiff!' );
} else if ( breed === 'labrador' ) {
say('Rwoooooffff!');
}
};
return Object.freeze({
bark,
breed
});
}
function talker(spec) {
var { name } = spec;
var say = function(sound) {
console.log(name, "said:", sound)
}
return Object.freeze({
say
});
}
var buttercup = dog({ name: 'Buttercup', breed: 'chiuaua' });
buttercup.bark();