Тёмный

JavaScript GETTERS & SETTERS are awesome!!! 📐 

Bro Code
Подписаться 2,2 млн
Просмотров 17 тыс.
50% 1

Опубликовано:

 

30 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 37   
@BroCodez
@BroCodez 10 месяцев назад
// ---------- EXAMPLE 1 ---------- class Rectangle{ constructor(width, height){ this.width = width; this.height = height; } set width(newWidth){ if(newWidth > 0){ this._width = newWidth; } else{ console.error("Width must be a positive number"); } } set height(newHeight){ if(newHeight > 0){ this._height = newHeight; } else{ console.error("Height must be a positive number"); } } get width(){ return `${this._width.toFixed(1)}cm`; } get height(){ return `${this._height.toFixed(1)}cm`; } get area(){ return `${(this._width * this._height).toFixed(1)}cm`; } } const rectangle = new Rectangle(2, 3); console.log(rectangle.width); console.log(rectangle.height); console.log(rectangle.area); // ---------- EXAMPLE 2 ---------- class Person{ constructor(firstName, lastName, age){ this.firstName = firstName; this.lastName = lastName; this.age = age; } set firstName(newFirstName){ if(typeof newFirstName === "string" && newFirstName.length > 0){ this._firstName = newFirstName; } else{ console.error("First name must be a non-empty string"); } } set lastName(newLastName){ if(typeof newLastName === "string" && newLastName.length > 0){ this._lastName = newLastName; } else{ console.error("Last name must be a non-empty string"); } } set age(newAge){ if(typeof newAge === "number" && newAge >= 0){ this._age = newAge; } else{ console.error("Age must be a non-negative number"); } } get firstName(){ return this._firstName; } get lastName(){ return this._lastName; } get fullName(){ return this._firstName + " " + this._lastName; } get age(){ return this._age; } } const person = new Person("Spongebob", "Squarepants", 30); console.log(person.firstName); console.log(person.lastName); console.log(person.fullName); console.log(person.age);
@Loki_chan
@Loki_chan 5 месяцев назад
txs bro for these lessons
@Sernik_z_rodzynkamii
@Sernik_z_rodzynkamii 8 месяцев назад
What a great explanation! I am doing the Codecademy course recently and their examples of getters and setters weren't that clear to me.
@angeljoachin1962
@angeljoachin1962 2 месяца назад
I came for the same reason, how has been your journey??
@helioobianchi
@helioobianchi 6 месяцев назад
wait, did Javascript become OOP? edit: no. after some googling, I learned that the OOP features introduced in ES6 are syntax sugar. Javascript is classified as a prototype-based procedural language (it's neither object oriented nor functional 😮) . so it's not meant to implement the known OOP design patterns. but it's useful nevertheless. can't wait to learn all those features so I can start writing some type related bugs 😊
@antcannon
@antcannon 7 месяцев назад
420 69’s parents was living a wild life. The birth certificate did not have any setters and getters. Great video. This is going to help me tackle more coding challenges and create cleaner code.
@yunusdurdygulyyew9270
@yunusdurdygulyyew9270 7 месяцев назад
That's the best explanation that I could find online. Thank you for the work you do!
@vanta6lack
@vanta6lack 5 месяцев назад
As said by previous commentators, this is literally the best explanation that I've come across so far and Getters and Setters do seem to be quite extraordinary. Huge thank you!
@hunin27
@hunin27 10 месяцев назад
thanks bro. would you mind doing a javascript project with all the things we learned? At least i could try it myself as well before seeing how you do it
@piotrmazgaj
@piotrmazgaj Месяц назад
This is my seal. I have watched the entire video, understood it, and I can explain it in my own words, thus I have gained knowledge. This is my seal.
@gergvakapoharat4501
@gergvakapoharat4501 3 месяца назад
Hi, are getters/setters exportable? I mean if you export myObject.myGetter it exports the value, not the getter itself, so if it changes later, the value won't follow in the export, or copy, etc. thank you
@johnnyklash5883
@johnnyklash5883 Месяц назад
"Person(420, 69, "pizza")" sounds like a good Saturday night to me.😂
@user-rj7ez2qy4d
@user-rj7ez2qy4d 10 месяцев назад
hello I needed to know about getters and setters today and you upload the video in time, thanks🙂
@tonytodd7011
@tonytodd7011 10 месяцев назад
Great explanation, thanks Bro!
@vanta6lack
@vanta6lack 5 месяцев назад
420, 69 and pizza. Really? ))
@shafiulAlamShafi
@shafiulAlamShafi 10 месяцев назад
Thanks for explaining!!
@jayboy6430
@jayboy6430 19 дней назад
wow fantastic breakdown
@maenam4520
@maenam4520 7 месяцев назад
Greet content 👌 Why should the age to be >= in the Person class since True >= 0 //true Just use >= 1 True >= 1 // false
@cryssias
@cryssias 8 месяцев назад
this playlist has been soooo helpful! thank you for the amazing free content. hugs from brazil ✨
@matheusbalbinot2469
@matheusbalbinot2469 6 месяцев назад
best explanation i've ever seen here on youtube. thank u so much bro!!!
@SreesaSarma
@SreesaSarma 9 месяцев назад
Thanks Bro!!
@baxti7
@baxti7 10 месяцев назад
perfect
@khalidmadaraobito8651
@khalidmadaraobito8651 10 месяцев назад
Perfect💥
@STR-DP
@STR-DP 6 месяцев назад
37😁
@helioobianchi
@helioobianchi 6 месяцев назад
11:30 once you make a setter for an attribute, does a getter become necessary to access it (vice-versa maybe)? is it why it's printing 'undefined'? looks like I have some reading and testing to do
@williamhu9567
@williamhu9567 Месяц назад
​@czel-za-oczyszinoju why does the "_age" property get set to whatever the "age" property was in the constructor? edit: if you give the constructor an invalid "age", it'll be undefined. looks like the setters are called when the constructor is. edit2: if you try using "age" instead of "_age" in the setter, it'll keep calling the setter recursively and stack overflow... kinda makes sense now.
@mixxxer
@mixxxer 5 месяцев назад
What is the benefit of doing get area() versus a method on the class like getArea()?
@liammcgarrigle
@liammcgarrigle 3 месяца назад
because instead of doing ‘console.log( rectangle.getArea() )’ you can do ‘console.log( rectangle.area )’ so it is like accessing a property and not a method, even though it is like a method is really getting the data under the hood
@Syuzaki1301
@Syuzaki1301 Месяц назад
@@liammcgarrigleto add to that. Usually it is differentiated between state and behaviour when creating properties/methods. Methods should perform or adhere to some kind of behaviour while standard properties allow access to some sort of "state" of the instantiated object. Since area would be a state value, it makes sense to access it using standard property accessing syntax thus a getter is used to make it more conform.
@williamhu9567
@williamhu9567 Месяц назад
@@liammcgarrigle in python, "properties" are called "attributes" and this rectangle.area would be considered a "property". this is kind of messing with me haha...
@Azoraqua
@Azoraqua 8 месяцев назад
Typescript be like..
@baxti7
@baxti7 10 месяцев назад
If you do an intermediate web project in html and css🙂☺
@Mayukh04
@Mayukh04 6 месяцев назад
nothing happens with just html css tech is advancing Javascript,React JS,Next JS etc are crucial to build intermediate and advanced projects
@Carrymejane
@Carrymejane 8 месяцев назад
You are live saver bro ❤
@michaelwinkler9257
@michaelwinkler9257 10 месяцев назад
1er
@maenam4520
@maenam4520 7 месяцев назад
Great job man! 👏👏 that is really awesome and simple explanation straight to my understanding. Big thanks 🫶
Далее
JavaScript DESTRUCTURING in 8 minutes! 💥
8:41
Просмотров 21 тыс.
The JavaScript SUPER keyword is super! 🦸‍♂️
9:22
11 ming dollarlik uzum
00:43
Просмотров 1,3 млн
КАК БОМЖУ ЗАРАБОТАТЬ НА ТАЧКУ
1:36:32
Teeth gadget every dentist should have 😬
00:20
Просмотров 941 тыс.
STOP Using Classes In JavaScript | Prime Reacts
14:02
Просмотров 240 тыс.
Premature Optimization
12:39
Просмотров 811 тыс.
Learn JavaScript CLOSURES in 10 minutes! 🔒
10:58
Просмотров 20 тыс.
Learn JavaScript ARROW FUNCTIONS in 8 minutes! 🎯
8:02
JavaScript Getters and Setters Explained
9:11
Просмотров 21 тыс.