Object 1
Object 2
Object 3
null
const mySundae = ['cherry', 'vanilla', 'sprinkles'];
const yourSundae = ['chocolate', 'hot fudge', 'walnuts'];
mySundae.join("");
yourSundae.join("");mySundae
.length
0: 'cherry'
1: 'vanilla'
2: 'sprinkles
yourSundae
.length
0: 'chocolate'
1: 'hot fudge'
2: 'walnuts
Array.prototype
.join
.pop
.push
function helloWorld(){
}
/*helloWorld.prototype = {
constructor: helloWorld
// internal Prototype === Object.prototype
}*/...before answering this, we need to look into constructor functions!
A Constructor Function returns an object called an instance, when it is invoked with the `new` keyword
function Person(name){
this.age = 0;
this.name = name;
}var karen = new Person('Karen');
/* karen = {
age:0,
name: 'Karen',
} */Create an Account
Account Info Saved
var scottTwitter = {
name: 'Scott',
email: 'email@email.com',
password: '.....',
handle: '@Scott',
followers: []
_id: 012345,
joined: Thu March 01 2019 07:36:30 GMT-0500 (EST)
}
var karen = new Person('Karen');
/* karen = {
age:0,
name: 'Karen',
} */The "new" keyword invokes the constructor function.
function Person(name) {
this.age = 0;
this.name = name;
}
// STEP 1: new invokes Person
var karen = new Person('Karen');
/* karen = {
age:0,
name: 'Karen',
} */function Person(name) {
// STEP 2: {} the internal prototype === Person.prototype
this.age = 0;
this.name = name;
}
// STEP 1: new invokes Person
var karen = new Person('Karen');
/* karen = {
age:0,
name: 'Karen',
} */Assigns the "this" keyword to the object created by the new keyword.
function Person(name) {
// STEP 2: {} the internal prototype === Person.prototype
// STEP 3: this = {} (object created in STEP2)
this.age = 0;
this.name = name;
}
// STEP 1: new invokes Person
var karen = new Person('Karen');
/* karen = {
age:0,
name: 'Karen',
} */function Person(name) {
// STEP 2: {} the internal prototype === Person.prototype
// STEP 3: this = {} object created in STEP 2
this.age = 0;
this.name = name;
/* STEP 4: return this
- this === {age:0, name:'Karen'}
- internal prototype === Person.prototype */
}
// STEP 1: new invokes Person
var karen = new Person('Karen');
/* karen = {
age:0,
name: 'Karen',
} */An "instance" is an object created by a constructor function.
function Person(name) {
this.age = 0;
this.name = name;
this.speak = function(){
return 'hello';
}
this.eat = function(){
return "I'm full!";
}
}
var karen = new Person('Karen');
var scott = new Person('Scott');
karen
age
name
speak
eat
scott
Person.prototype
age
name
speak
eat
constructor: Person
function Person(name) {
this.age = 0;
this.name = name;
}
Person.prototype.speak = function(){
return 'hello';
}
Person.prototype.eat = function(){
return "I'm full!";
}
var karen = new Person('Karen');
var scott = new Person('Scott');
karen.speak();
scott.eat();karen
age
name
scott
Person.prototype
age
name
constructor: Person
eat
speak