-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy paththis.js
More file actions
44 lines (37 loc) · 1.49 KB
/
Copy paththis.js
File metadata and controls
44 lines (37 loc) · 1.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// Follow the instructions and fill in the blank sections.
// There are no tests for this file.
// To verify your code works you can run this file using `node this.js` while in the `/src` folder
class User {
constructor(options) {
// set a username and password property on the user object that is created
this.username = options.username;
this.password = options.password;
this.checkPassword = (string) => {
if (string === this.password) {
return true;
} return false;
};
}
// create a method on the User class called `checkPassword`
// this method should take in a string and compare it to the object's password property
// return `true` if they match, otherwise return `false`
}
const me = new User({ username: 'LambdaSchool', password: 'correcthorsebatterystaple' });
const result = me.checkPassword('correcthorsebatterystaple'); // should return `true`
const checkPassword = function comparePasswords(passwordToCompare) {
// recreate the `checkPassword` method that you made on the `User` class
// use `this` to access the object's `password` property.
// do not modify this function's parameters
// note that we use the `function` keyword and not `=>`
if (passwordToCompare === this.password) {
return true;
} return false;
};
// invoke `checkPassword` on `me` by explicitly setting the `this` context
// use .call, .apply, and .bind
// .call
me.checkPassword.call(me);
// .apply
me.checkPassword.apply(me);
// .bind
me.checkPassword.bind(me)();