-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
40 lines (29 loc) · 922 Bytes
/
index.js
File metadata and controls
40 lines (29 loc) · 922 Bytes
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
function User(name, email) {
// this key word is out object {}
this.name = name;
this.email = email;
}
User.prototype.login = function() {
console.log(`${this.name} just logged in`);
}
User.prototype.logout = function() {
console.log(`${this.name} just logged out`);
}
function Admin(...args) {
User.apply(this, args)
}
Admin.prototype = Object.create(User.prototype)
Admin.prototype.deleteUser = function(user) {
users = users.filter(u => u.email !== user.email);
}
Admin.prototype.addUser = function(name, email) {
users.push(new User(name, email));
}
const Vlad = new Admin("Vlad", "americanman");
const badGuy = new User("Lebeouf", "scammer");
// array of users(our database :)
let users = [Vlad, badGuy];
console.log(Vlad.login());
Vlad.deleteUser(badGuy);
Vlad.addUser("Mike", "Dimmit");
console.log("users", users);