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());