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 😊
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.
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!
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
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
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
@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.
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
@@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.
@@liammcgarrigle in python, "properties" are called "attributes" and this rectangle.area would be considered a "property". this is kind of messing with me haha...