diff --git a/10_classes_and_oops/bind.html b/10_classes_and_oops/bind.html new file mode 100644 index 0000000..60d10c1 --- /dev/null +++ b/10_classes_and_oops/bind.html @@ -0,0 +1,30 @@ + + + + + + React + + + + + + \ No newline at end of file diff --git a/10_classes_and_oops/call.js b/10_classes_and_oops/call.js index 727b5c4..fea767b 100644 --- a/10_classes_and_oops/call.js +++ b/10_classes_and_oops/call.js @@ -1,4 +1,4 @@ -function SetUsername(username){ +function setUsername(username){ //complex DB calls this.username = username console.log("called"); @@ -11,5 +11,5 @@ function createUser(username, email, password){ this.password = password } -const chai = new creatUser("coffee", "coffee@fb.com", "12345") +const chai = new createUser("coffee", "coffee@fb.com", "12345") console.log(coffee); diff --git a/10_classes_and_oops/inheritance.js b/10_classes_and_oops/inheritance.js new file mode 100644 index 0000000..d72ffc2 --- /dev/null +++ b/10_classes_and_oops/inheritance.js @@ -0,0 +1,32 @@ +class User{ + constructor(username){ + this.username = username + } + + logMe(){ + console.log(`USERNAME IS ${this.username}`); + } +} +class Teacher extends User{ + constructor(username, email, password){ + super(username) + this.email = email + this.password - password + } + + addCourse(){ + console.log(`A new course was added by ${this.username}`); + + } +} + + +const chai = new Teacher("justin", "justin@teacher.com", "123") +chai.addCourse() +const masalaChai = new User("masalaChai") +masalaChai.logMe() + +console.log(chai === Teacher); +console.log(chai instanceof User); + + diff --git a/10_classes_and_oops/myclasses.js b/10_classes_and_oops/myclasses.js new file mode 100644 index 0000000..75eff50 --- /dev/null +++ b/10_classes_and_oops/myclasses.js @@ -0,0 +1,42 @@ +// ES6 + + class User{ + constructor(username, email, password){ + this.username = username; + this.email = email; + this.password = password + } + +// encryptPassword(){ +// return `${this.password}abc` +// } +// changeUsername(){ +// return `${this.username.toUpperCase()}` +// } + +} + +// const chai = new User("justin", "justin@gmail.com", "123") +// console.log(chai.encryptPassword()); +// console.log(chai.changeUsername()); + + +//behind the scene + +function User(username, email, password){ + this.username = username; + this.email = email; + this.password = password +} + +User.prototype.encryptPassword = function(){ + return `${this.password}abc` +} +User.prototype.changeUsername = function(){ + return `${this.password}abc` +} + + +const tea = new User("chai", "tea@gmail.com", "123") +console.log(tea.encryptPassword()); +console.log(tea.changeUsername()); \ No newline at end of file diff --git a/10_classes_and_oops/staticprop.js b/10_classes_and_oops/staticprop.js new file mode 100644 index 0000000..6722428 --- /dev/null +++ b/10_classes_and_oops/staticprop.js @@ -0,0 +1,25 @@ +class User{ + constructor(username){ + this.username = username + } + logMe(){ + console.log(`Username: ${this.username}`); + } + + static createid(){ + return `123` + } +} + +const justin = new User("Justin") +// console.log(justin.createid()) + +class Teacher extends User{ + constructor(username, email){ + super(username) + this.email = email + } +} + +const iphone = new Teacher("iphone", "i@phone.com") +console.log(iphone.createId());