Skip to content

Instantly share code, notes, and snippets.

@krfong916
Created November 30, 2018 06:41
Show Gist options
  • Save krfong916/5493f5c99d447aaf99868cbd3492afa1 to your computer and use it in GitHub Desktop.
Save krfong916/5493f5c99d447aaf99868cbd3492afa1 to your computer and use it in GitHub Desktop.
prototypal object creation with change of property
function sideEffects() {
console.log("this will have a side effect because thats how the object prototype mechanism just works");
}
var User = function({first_name, last_name, language, num_friends, num_reports, college, active}) {
var obj = Object.create(User.prototype)
obj.first_name = first_name
obj.last_name = last_name
obj.language = language
obj.num_friends = num_friends
obj.num_reports = num_reports
obj.college = college
obj.active = active
obj.greeting = 'hello!'
return obj;
}
User.prototype.greeting = function() {
console.log(this.greeting)
}
User.prototype.changeGreeting = function(greeting) {
this.greeting = greeting
console.log(this.greeting);
}
let sign_up_object = {
first_name: 'Kyle',
last_name: 'Fong',
language: 'English',
num_friends: '0',
num_reports: '0',
college: 'Nine',
active: 'Yes'
}
var new_user = new User(sign_up_object)
new_user.greeting
var newGreeting = "Wus gucci and gabbbana";
new_user.changeGreeting()
new_user.greeting
User.prototype = new sideEffects();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment