From bc21502f5d8e09665377b1791894f4c8103ad469 Mon Sep 17 00:00:00 2001 From: Justin Charles <143245796+justin212407@users.noreply.github.com> Date: Sat, 7 Sep 2024 21:55:04 +0000 Subject: [PATCH] bind --- 10_classes_and_oops/bind.html | 30 +++++++++++++++++++++ 10_classes_and_oops/call.js | 4 +-- 10_classes_and_oops/inheritance.js | 32 +++++++++++++++++++++++ 10_classes_and_oops/myclasses.js | 42 ++++++++++++++++++++++++++++++ 10_classes_and_oops/staticprop.js | 25 ++++++++++++++++++ 5 files changed, 131 insertions(+), 2 deletions(-) create mode 100644 10_classes_and_oops/bind.html create mode 100644 10_classes_and_oops/inheritance.js create mode 100644 10_classes_and_oops/myclasses.js create mode 100644 10_classes_and_oops/staticprop.js 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());