Repository navigation
Expand file tree
/
Copy paththis.js
More file actions
50 lines (41 loc) · 1.57 KB
/
Copy paththis.js
File metadata and controls
50 lines (41 loc) · 1.57 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
45
46
47
48
49
50
// 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
/* eslint-disable no-useless-constructor, no-unused-vars */
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;
}
checkPassword(str) {
let match = false;
if (str === this.password) {
match = true;
}
return match;
}
// 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`
}
/* eslint-enable no-useless-constructor */
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 `=>`
let match = false;
if (passwordToCompare === this.password) {
match = true;
}
return match;
};
/* eslint-enable no-unused-vars */
// invoke `checkPassword` on `me` by explicitly setting the `this` context
// use .call, .apply, and .bind
// .call
// .apply
// .bind