His voice is commercial. Everybody buys it first. When voice is welcoming, with the right attitude, pace, bang-on content, psychological impact of close shot of what he is doing (not the entire screen area) and proper-concise-basic explanation would have and certainly had brought him above all the alternate explanations. That's my friend called an educator tapping the maximum.
You know why this is great? Because instead of just telling someone what to write and blow their mind you actually explain HOW what you are explaining came to be and WHY you would need it. Not just write this and try to get this. That is the x factor when it comes to coding tutorials. Well done as usual Mosh, I hope that made sense.
@@sunspear1813 How else was Anna supposed to share this helpful information? You can't say that commenting alternate methods that seem better is showing off, then teachers would always be showing off, everyone with superior knowledge would be "showing off". In fact, Mosh is showing off by posting these videos! HOW DARE HE!
SunSpear said that because Anna is a woman. If it was a man's comment, he wouldn't say that. Thanks Anna and sorry for that. Keep commenting and "showing off". You help a lot of people that way.
Thank you for explaining this from first principles. Starting with a simple object, giving scenarios for why you'd need to implement this, and going from there.
Ohhhh, so that's the difference, I finally understood, thank you very much. 💕 Awesome explanation. This is the kind of stuff I read before for the question "What's the difference/advantage of a getter over a simple method?", I don't know if it resolves the question because I didn't understood a thing: -"Given that without a getter, all we can do is poll the attribute for its value, anything else would require a special method which we would have to invoke on the value. Not insurmountable, but will take some thought." Reading that again made me forget what I saw in the video, I need to rewatch. 😂
thank you very much for this video. I couldn't understand this topic as I am learning at codeacademy. You managed to explain it in a simple logic way. So happy to come across you video
Oh thank god not just me. I eventually gave up and followed the video and my code still doesn't work. I've been loving the course so far but this was so weird.
Hey iMpetus. Even though it's a complex book and sometimes you have to reach for other resources in order to fully comprehend things, I still 100% recommend it because once you get through it you'll have a solid understanding of the concepts.
Thank you!!! This is 1000x better than Treehouse's video on getters and setters. Their instructor they currently have is horrible. Plus it doesn't help when their sample code are using the same variable name that's confusing the heck out me. "get owner(){....} set owner(owner){this._owner = owner; ....}. What the heck is going on! Also thanks for going over pre es2015 code. I would like to know or at least recognized the previous format when I come across it.
Very clear on how they work, but I think this one really needed more context e.g. this is a FEW use cases that are common. I felt like I walked away going cool, that's easy to implement, but without any clue on common use cases and I think this one would need that further context. Still a great video, just left me understanding something now that I won't likely use due to my not getting a grasp on when to use it.
if you execute the line 10 (person.fullName = 'John Smith') in 2:44, the object method would be replaced with a property having "John Smith" as its value.
Finally a simple and concise explanation about getters and setters, well done Mosh, but any particular reason why you didn't use "this" instead of firstName and lastName on the getter just like you did on the setter? I tested it and it worked fine for me, it seems that you just didn't do it cause you copied the whole expression from a console.log outside of the object itself.
@2:34 you say that a disadvantage with regular methods is that they are 'read-only' and therefore "We cannot set the person's fullName from the outside." How do you mean? person.fullName = "Bob Brown"
How is this related to classes? I know this concept from back in the days when I learned Java to access class attributes. Here I can also do it with objects and that's great, but how is this related to the new ES6 classes in JS?
This is a great lecture on getters/setters. Yet I don't understand why can't we use same methods without get/set prefixes. What's the difference, i.e. what is the benefit of using get/set prefixes
he explained it tho on the vid but you vant get a function ad a property without a get u would need to use obj.funcName() and other things in the video
As someone who isnt far in JS, i dont see why i would bother adding this complexity for that result. I dont mind writing object.method() like this, and i dont know often i would need to change something outside the object
I don't understand why you set the "this.firstName" and "this.lastName" are set to "part[0]" and "part[1]" respectively (timestamp: 4:45). are you denoting the different parts of the string in "person.fullName" as indexes?
In the "set fullName(value)" function, "value" is the string that's being passed in (in this case, it's "John Smith"). The "value.split (' ')" line is splitting the string at the space mark (hence the (' ')), so now we have an array of two elements, the first being "John", and the second being "Smith". "John" is at index 0 of the array, and "Smith" is at index 1. "this.firstName = parts[0"] then assigns the first index of the array ("John") to firstName, and "this.lastName = parts[1]" assigns the second index of the array ("Smith") to lastName.
I don't understand why everyone can't explain this topic in the same way. Brilliant. Thank you very much!
His voice is commercial. Everybody buys it first. When voice is welcoming, with the right attitude, pace, bang-on content, psychological impact of close shot of what he is doing (not the entire screen area) and proper-concise-basic explanation would have and certainly had brought him above all the alternate explanations. That's my friend called an educator tapping the maximum.
@@erhanertem196 jeeze, someone has a crush
So much better than the CodeCademy explanation!
I just came here from CodeCademy too, and I totally agree!
It's true
it's also better than the FreeCodeCamp explanation !
lol, also coming from freecodeacademy
yeah
You know why this is great? Because instead of just telling someone what to write and blow their mind you actually explain HOW what you are explaining came to be and WHY you would need it. Not just write this and try to get this. That is the x factor when it comes to coding tutorials. Well done as usual Mosh, I hope that made sense.
I'm from Tanzania and Im almost 28 years on the next 2 years and i have started learning to code but this guy is amazing just straight's to the point
you could also use:
set fullName(value) {
[this.firstName, this.lastName] = value.split(' ')
}
Good shit.
Although it's a good practice and neat trick, I think it's kind of showoff to write comments like this.
@@sunspear1813 How else was Anna supposed to share this helpful information? You can't say that commenting alternate methods that seem better is showing off, then teachers would always be showing off, everyone with superior knowledge would be "showing off". In fact, Mosh is showing off by posting these videos! HOW DARE HE!
@@noahpeltier YEAH then in this case the whole ES6 is show off, why should we use arrow functions!!!
SunSpear said that because Anna is a woman. If it was a man's comment, he wouldn't say that. Thanks Anna and sorry for that. Keep commenting and "showing off". You help a lot of people that way.
Mosh should teach every course, no fluff, straight to the point!
Getters and Setters:
2:38-3:04, contextual use case
3:05-3:14, purpose/rule
3:14-5:37, how to prepare
Thank you for explaining this from first principles.
Starting with a simple object, giving scenarios for why you'd need to implement this, and going from there.
Glad you started this video with a reason why we need this👍
Thank you for the awesome explanation, John Smith!!
😂😂😂
Amazing! I understood this better than others spanish channels. Thank you
Ohhhh, so that's the difference, I finally understood, thank you very much. 💕 Awesome explanation.
This is the kind of stuff I read before for the question "What's the difference/advantage of a getter over a simple method?", I don't know if it resolves the question because I didn't understood a thing:
-"Given that without a getter, all we can do is poll the attribute for its value, anything else would require a special method which we would have to invoke on the value. Not insurmountable, but will take some thought."
Reading that again made me forget what I saw in the video, I need to rewatch. 😂
This video answered ALL my questions on getters & setters. Thanks so much!
This made so much more sense, thank you for the video. Hope you are doing well.
thank you, my current courses' explanation of how this works and its' use case was super clumsy.
Very simply explained! Formerly I got lost when other people described the same topic. Thank you very much!
with in 5 minutes Mosh helped me to understand the topic 😀
Love your Christmas ad. Its epic.
You're wonderful at explaining topics like these, bravo!
An excellent illustration of Getters/Setters in JavaScript. Thanks, Mosh
{2021-09-22}
I can't believe I was able to understand this in 6 minutes compared to 3 hours of lectures. Saved my life for the exam, thanks lol
for really this is unbelievable
Awesome explanation! I was struggling a bit with this concept. Thanks!
Thank you for clear explanation.
perfectly explained, thank you!
Wow! That's well explained 👏🔥
thank you very much for this video. I couldn't understand this topic as I am learning at codeacademy. You managed to explain it in a simple logic way. So happy to come across you video
Simple and clean explanation, lovely!
your explanations are top notch thanks dude
very clear explanation. Thank you.
Only explanation i could find out there that made sense to me! amazing, thank you
Great , professional way
amazing explanation!! Thanks so much!
This video really helped solidify the ideas after I spent hours on the codecademy “meal maker” project! Appetizers, mains, and desserts, oh my!
Oh thank god not just me. I eventually gave up and followed the video and my code still doesn't work. I've been loving the course so far but this was so weird.
Fantastic brother thank you very much!
Insane explanation🌟
Thank you so much for this clear explanation!
This help me a lot.
Thank u very much. I will share this with my telegram group. Thanks again, very helpful.
I like so much your explanation about javascript. I always can understand properly
only half way in, but wow what an amazing explanation
on spot! Thanks a lot for this Mosh!
Thank you ! very clear explanation.
This guy is good at explaining
i really like this explanation - u earn my sub badman!
Simple & clean. Loving it! Keep it up!
Finally i get it from this video
Thanks man, couldn't understand the example from Eloquent JS chapter 6 but this is crystal clear. You're the best.
I couldn't understand anything from Eloquent JS lmao
Maybe. I think the examples were a little too complex for me in Eloquent JS. Anyway, your video was helpful! Thank you Mosh.
Hey iMpetus. Even though it's a complex book and sometimes you have to reach for other resources in order to fully comprehend things, I still 100% recommend it because once you get through it you'll have a solid understanding of the concepts.
Thanks for sharing your insight Nanika. I will give it another try. :)
@@programmingwithmosh sir, why you always use "const" rather than "var" or "let"...?
Thank you!!! This is 1000x better than Treehouse's video on getters and setters. Their instructor they currently have is horrible. Plus it doesn't help when their sample code are using the same variable name that's confusing the heck out me. "get owner(){....} set owner(owner){this._owner = owner; ....}. What the heck is going on! Also thanks for going over pre es2015 code. I would like to know or at least recognized the previous format when I come across it.
English subtitles: Mosh Hamedani ( Marsh comma daddy )
Great explanation. Thank you so much. I have ticked the bell icon :)
very informative and straight to the point thank you so much !
You have no idea how long i tried to understand this
Great explanation!!! All videos are really great explained! Great teacher skills!
this is one of the hardest types of syntaxes to grasp. The second you look away and try to write on your own, you feel lost.
Thank you so so much. Just...thanks man!!!
better then codeCademy explanation!
Thanks Hamadani!
thanks for explaining, finally understand setters
Awesome tutorial
Very clear on how they work, but I think this one really needed more context e.g. this is a FEW use cases that are common. I felt like I walked away going cool, that's easy to implement, but without any clue on common use cases and I think this one would need that further context. Still a great video, just left me understanding something now that I won't likely use due to my not getting a grasp on when to use it.
so helpful. very glad i came here
Sushant sir😍😍
Best teatcher.
Quick and good explanation, thanks alot!
MUUUCH MUCH better than codeacademy !thanks man
if you execute the line 10 (person.fullName = 'John Smith') in 2:44, the object method would be replaced with a property having "John Smith" as its value.
Whoa, nice video, it was a great explanation 😄
Awesome video for beginners.
Finally a simple and concise explanation about getters and setters, well done Mosh, but any particular reason why you didn't use "this" instead of firstName and lastName on the getter just like you did on the setter?
I tested it and it worked fine for me, it seems that you just didn't do it cause you copied the whole expression from a console.log outside of the object itself.
you always use it in objects, otherwise it wont work
You are right mario
nice explanation
Great video, thanks mosh
Great explanation! Thank you.
@2:34 you say that a disadvantage with regular methods is that they are 'read-only' and therefore "We cannot set the person's fullName from the outside."
How do you mean?
person.fullName = "Bob Brown"
Thank you!
Hi nice tutorial, but why can't we do the smae task whitout naming those functions get and set?
Good explanation.
How is this related to classes? I know this concept from back in the days when I learned Java to access class attributes. Here I can also do it with objects and that's great, but how is this related to the new ES6 classes in JS?
i sort of get this explanation... but not 100% about this my mind is a bit torn
Don't worry not everyone understands it 100% from watching videos. Once you start using these when building stuff you will truly understand.
Thanks a lot man
That's awesome, understood it fast because of your explanation. What theme are you using, btw?
I like this explanation, because on teamtreehouse.com, I was confused and they didn't explain why and when we use getters and setters clearly
I was also searching for the explanation right after I watched the videos in Treehouse. Same team! XD
Hi Mosh,
The getter setter implementation in this video is different from the one in your course of OOP.
Can you please explain which one is better?
Really god thank you!
Thanks a lot
amazing explanation
This is a great lecture on getters/setters. Yet I don't understand why can't we use same methods without get/set prefixes. What's the difference, i.e. what is the benefit of using get/set prefixes
he explained it tho on the vid but you vant get a function ad a property without a get u would need to use obj.funcName() and other things in the video
As someone who isnt far in JS, i dont see why i would bother adding this complexity for that result.
I dont mind writing object.method() like this, and i dont know often i would need to change something outside the object
Excellent. Ty alot
great vid
Now it's clear to me :)
hi mosh you have an amazing style in explanation but please i need your data structure course in JavaScript
Thanks Mosh
bless u, please, never stop what u are doing, im picking this lifeskill and frankly, thanks alot
感謝分享🙏
I don't understand why you set the "this.firstName" and "this.lastName" are set to "part[0]" and "part[1]" respectively (timestamp: 4:45). are you denoting the different parts of the string in "person.fullName" as indexes?
In the "set fullName(value)" function, "value" is the string that's being passed in (in this case, it's "John Smith"). The "value.split (' ')" line is splitting the string at the space mark (hence the (' ')), so now we have an array of two elements, the first being "John", and the second being "Smith". "John" is at index 0 of the array, and "Smith" is at index 1. "this.firstName = parts[0"] then assigns the first index of the array ("John") to firstName, and "this.lastName = parts[1]" assigns the second index of the array ("Smith") to lastName.
instant Like and Sub. Thank you!
Thank you Mosh! AMAZING explanation. Do you have courses on Udemy?
thank you
Your explanations r so good , please do a JS codecademy walkthrough explanation, their explanations are rubbish
this would be soooo cool
Yeah, what is the deal with that? I lose my mind with Codecademy almost every day.
ur amazing
is this. refereing to the person object ? or to the fullName method ?