Object-oriented Programming in JavaScript: Made Super Simple | Mosh

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 มี.ค. 2018
  • 🔥Get the COMPLETE course (70% OFF - LIMITED TIME): bit.ly/2keDCna
    Object-oriented programming in JavaScript: learn all about objects, prototypes, prototypical inheritance, this and more.
    Subscribe for more videos:
    / @programmingwithmosh
    TABLE OF CONTENT:
    00:00: What is OOP?
    01:46: Four Pillars of OOP
    08:50: Setting Up the Development Environment 11:07: Objects
    11:53: Object Literals
    14:58: Factories
    17:50: Constructors
    23:27: Constructor Property
    25:53: Functions are Objects
    31:09: Value vs Reference Types
    37:00: Adding or Removing Properties
    40:54: Enumerating Properties
    43:45: Abstraction
    47:48: Private Properties and Methods
    51:55: Getters and Setters
    57:32: Exercise
    59:42: Solution
    Want to learn more from me? Check out my blog and courses:
    programmingwithmosh.com
    / programmingwithmosh
    / moshhamedani

ความคิดเห็น • 1K

  • @PetttCZ
    @PetttCZ 5 ปีที่แล้ว +581

    MOSH, I'm in IT for 25+ years.. I've seen stuff :O) This is by far the best organized, tutored, and well thought through course. People should be learning from you how to do this... respect.
    Petr

    • @syedkashifhassankazmi7269
      @syedkashifhassankazmi7269 4 ปีที่แล้ว +2

      Computer sciences vs Information technology?
      Which would you recommend?

    • @badripaudel77
      @badripaudel77 4 ปีที่แล้ว +3

      Computer science I think is more diverse.

    • @rakinrahman890
      @rakinrahman890 4 ปีที่แล้ว +5

      @@syedkashifhassankazmi7269 The one which you have more passion in. But yeah as @Badri Upadhyay said, computer science is more diverse.

    • @nnaemekanweke
      @nnaemekanweke 3 ปีที่แล้ว +2

      @@syedkashifhassankazmi7269 Computer science

    • @LonaM4E
      @LonaM4E 3 ปีที่แล้ว +1

      Glad to hear that, Pett. It's my first approach to Javascript OOP (did it before with PHP) and this video makes it super clear!

  • @akugoms7736
    @akugoms7736 6 ปีที่แล้ว +881

    00:00 : What is OOP?
    01:46 : Four Pillars of OOP
    08:50 : Setting Up the Development Environment 11:07: Objects
    11:53 : Object Literals
    14:58 : Factories
    17:50 : Constructors
    23:27 : Constructor Property
    25:53 : Functions are Objects
    31:09 : Value vs Reference Types
    37:00 : Adding or Removing Properties
    40:54 : Enumerating Properties
    43:45 : Abstraction
    47:48 : Private Properties and Methods
    51:55 : Getters and Setters
    57:32 : Exercise
    59:42 : Solution

    • @HuaJarry
      @HuaJarry 5 ปีที่แล้ว +3

      thanks, this index is really awesome, very conveinient. how did do that?

    • @abraaoazevedo5077
      @abraaoazevedo5077 5 ปีที่แล้ว +10

      He did it by just watching the video and taking note of the each part and his minute.

    • @codecrayon9120
      @codecrayon9120 5 ปีที่แล้ว +48

      @@abraaoazevedo5077 Or he just copied it from the video description.

    • @CameronChardukian
      @CameronChardukian 5 ปีที่แล้ว +3

      @@codecrayon9120 Brilliant hahaha

    • @stickz9871
      @stickz9871 4 ปีที่แล้ว +2

      @@codecrayon9120 Useful tho, dont be a beoch. The desc didnt have the link

  • @sebbyapudo7357
    @sebbyapudo7357 2 ปีที่แล้ว +100

    I learnt Python, SQL and Java from your Tutorials and I'm here to learn JavaScript from you again. You not only teach how to write code and the syntax but also how to think like a proffessional software engineer. You are the best Mosh

    • @RecklessPr1me
      @RecklessPr1me วันที่ผ่านมา

      You for real? 😮

  • @jenniferl2146
    @jenniferl2146 ปีที่แล้ว +122

    Love your videos, Mosh ❤I did struggle with tutorials. What really worked for me were Books and Mosh`s Videos.
    Edit: For those asking, I started learning with a basic book named Javascript In Less Than 50 Pages, which is very beginner friendly.
    Then I improved my skills with another one named Head First Javascript Programming.
    With those books I finally learned and wanted to share what worked for me.

  • @imtanuki4106
    @imtanuki4106 6 ปีที่แล้ว +62

    Unlike most online code tutorials, this (series) is well-organized, clearly and simply explained and it moves along at a good clip without being overwhelming! Kudos!

  • @ArthurSilveira
    @ArthurSilveira 5 ปีที่แล้ว +240

    I cannot believe this video is free... This is the the best javascript tutorial I have ever seen.

    • @theamanjs
      @theamanjs 3 ปีที่แล้ว +5

      This is video from full course on OOP JavaScript. You can visit codewithmosh.com for full course.

    • @cvuop
      @cvuop 2 ปีที่แล้ว +4

      Lubo video video video

    • @kartikm5030
      @kartikm5030 2 ปีที่แล้ว +8

      No bro, watch namaste javascript

    • @zacdejarnette1184
      @zacdejarnette1184 ปีที่แล้ว

      👍 like Jayapa

    • @zacdejarnette1184
      @zacdejarnette1184 ปีที่แล้ว

      Thank you for 🌳 free session

  • @olganedykhalova3323
    @olganedykhalova3323 5 ปีที่แล้ว +18

    Probably the most aesthetically pleasing on-line JS course I have ever had. :)

  • @menardmaranan
    @menardmaranan 8 หลายเดือนก่อน +31

    Just an update for new viewers. The `class` syntax is now widely available in JS after ES6. It is somewhat a syntactic sugar to defining a constructor function like shown in the video.

  • @James-lw3gi
    @James-lw3gi ปีที่แล้ว +8

    I mean, seriously, this is the next level of free learning content on TH-cam.
    So many videos out there on coding. But for me, so far, this is the best laid out course I've found.
    Kudos to Mosh!
    I'm going to deep dive on your channel so hard :)

  • @aiGuyReal
    @aiGuyReal 4 ปีที่แล้ว +11

    This is by far the best tutorial I have ever seen in my life. It is so well organised, well-mannered and you've made JavaScript seem like a piece of cake. Truly magnificent! Keep it up.

  • @skyline2022
    @skyline2022 ปีที่แล้ว +3

    Mosh I come from the VHDL Verilog background to understand OOP. You given here an excellent knowledge and awesome lecturing. Love your videos. Now I am more loving to learn software programs after watching your videos. It is just not the knowledge gain, but you really inspiring and made to jump into a full fledged learner on JS and C++. Simply incredible work you doing here and helping the Software community. Thank you

  • @kflo411
    @kflo411 3 ปีที่แล้ว +5

    Your awareness of your viewers' different programming contexts make this video very unique, in the JS space. Every mention of how the equivalent is done in C#/Java is much appreciated..!

  • @AlokTripathi
    @AlokTripathi 6 ปีที่แล้ว +16

    great explanation Mosh, you are the simple, concise and best.

  •  4 ปีที่แล้ว +1

    Mosh you give the best, cleanest, explanation on everything. Great teacher!

  • @weblead7396
    @weblead7396 5 ปีที่แล้ว +10

    thanks mosh, you are one of my best teacher. best of luck.

  • @daniellaerachannel
    @daniellaerachannel 6 ปีที่แล้ว +29

    a very good explanation, keep teaching like this! thanks

  • @emanuelmateusinacio7873
    @emanuelmateusinacio7873 5 ปีที่แล้ว +7

    The amount of knowledge I learned from your video is insane. You're one of the best coding tutors I've ever found on youtube. Thanks for your videos. I learned a lot just in this video alone

  • @ragtop63
    @ragtop63 ปีที่แล้ว +1

    Great tutorial. I had a little bit of trouble with the exercise but I eventually figured it out.
    One thing I did differently was in my "duration" getter, I added an 'if' clause to check if the stopwatch was running. If it was, I set the duration to the current lapsed time at that moment, then returned 'duration'. That way you would always be able to see the duration, even if you haven't stopped the stopwatch yet.

  • @hassanramazan6822
    @hassanramazan6822 5 ปีที่แล้ว +6

    Really great!
    The points that I couldn't have got yet in anywhere else have got here...
    Thanks MOSH

    • @BillClinton228
      @BillClinton228 3 ปีที่แล้ว

      It's a very good tutorial... it's just a pity that JS is terrible for OO

  • @rammaheshwari3008
    @rammaheshwari3008 5 ปีที่แล้ว +56

    Mosh is a Gift to Planet Earth ❤

  • @sheikabdullah8209
    @sheikabdullah8209 5 ปีที่แล้ว +15

    Your teaching is amazing man., no one can beat u., I strongly suggest ur videos who want expert in JS. 100000 likes

  • @octavius1992
    @octavius1992 ปีที่แล้ว +1

    49:25 : Best closure explanation for me so far. Thank you Mosh!

  • @omaralsadidev
    @omaralsadidev ปีที่แล้ว

    Hi Mosh, first of all, I would thank you for your amazing videos. I have +3 years exp as a dev. What I like about your courses is your way of explanation. The way you teach is likely the way of the academic teaches but with a magic touch! Most instructors on TH-cam ignore the identifications like what closures, abstraction, ...etc mean? and they are so important to know especially for the interviews!

  • @raanaalizadeh
    @raanaalizadeh 6 ปีที่แล้ว +5

    I'm in love with your tutorials Mosh , Thank you

  • @johnnychun2017
    @johnnychun2017 6 ปีที่แล้ว +8

    It is one of the best tutorial with very straightforward and step to step. Unfortunately I missed your course sales. I will look forward for next time. Huge thank for this.

    • @BobbyBundlez
      @BobbyBundlez 2 ปีที่แล้ว +1

      If it’s udemy just wait like an hour for the sales again lol

    • @ishfaqmaknoo
      @ishfaqmaknoo 2 ปีที่แล้ว +2

      @@BobbyBundlez 😆😆

  • @ricardomilos5451
    @ricardomilos5451 ปีที่แล้ว

    מוש היקר, כיוון שאף אחד לא הגיב לך כאן בעברית. רציתי שתראה את זה.
    אני מאוד מודה לך על ההנגשה וההסברה שאתה עושה. זה מאוד מוערך וכיף ביותר!
    אני לא יודע אם זה כי אני מבין מאוד את המבטא שלך בגלל השפה, אבל אתה בעיני מסביר הכי טוב ולעניין וזה מה שהופך אותך למורה טוב!

  • @NikhilsNest
    @NikhilsNest 5 หลายเดือนก่อน

    loved this tutorial, I was shifting from C# to node.js finding trouble in implementing OOPs in js, this made it a cake walk for me

  • @prassanthkc
    @prassanthkc 6 ปีที่แล้ว +3

    Thanks Mosh for this great wonderful tutorial. Keep going.

  • @munishgarg75
    @munishgarg75 3 ปีที่แล้ว +16

    We do have classes in JavaScript. The classes were introduced after ES5 in the JS.

    • @serpentav422
      @serpentav422 3 ปีที่แล้ว

      Can someone link a TH-cam video tutorial so I can know how to use classes?

    • @munishgarg75
      @munishgarg75 3 ปีที่แล้ว

      @@serpentav422 bro just search classes in JS on TH-cam , you will surely get one!!!

    • @ethanlal4517
      @ethanlal4517 3 ปีที่แล้ว

      @@serpentav422 He talks about classes at the end of his modern ES6 and Typescript videos :-)
      th-cam.com/video/NCwa_xi0Uuc/w-d-xo.html or th-cam.com/video/NjN00cM18Z4/w-d-xo.html

  • @PINGPONGROCKSBRAH
    @PINGPONGROCKSBRAH 5 ปีที่แล้ว +1

    Thank you for making the font in your tutorials BIG so that I can actually read it when I have two windows open on my tiny laptop screen.

  • @malakkataie7226
    @malakkataie7226 2 ปีที่แล้ว +1

    Mosh was just AMAZING at explaining OOP, I have learned so much in 1h! BIG THANKSSS

  • @hasiburrahman9392
    @hasiburrahman9392 6 ปีที่แล้ว +8

    Your tutorial is Awesome. Thanks Mosh

  • @soultouchingsongs
    @soultouchingsongs 6 ปีที่แล้ว +6

    Excellent.. Thank you so much. 👍

  • @SAJID-zs2gf
    @SAJID-zs2gf 6 ปีที่แล้ว +1

    that's the best video on OOP in JS. everything is so well explained Thanks!

  • @sharansingh4956
    @sharansingh4956 5 ปีที่แล้ว +1

    Best vid found in js, for intermediates and experinced js devs so far. Definitely gonna buy the course 😃

  • @d3j4v00
    @d3j4v00 4 ปีที่แล้ว +8

    Have been self-teaching myself code since covid-19 got rolling and i feel very lucky to have found your channel today. I've made more progress in 2 hours than the previous 2 months in terms of capacity and confidence with JavaScript

  • @zedal1
    @zedal1 6 ปีที่แล้ว +237

    Thumbs up if you are tired of that bespectacled Udemy advert guy who is always going: "python is where its at...Y'know...you should take this online course at Udemy....bla bla bla". He seems to follow me wherever I go on TH-cam.

    • @jidaasare7021
      @jidaasare7021 5 ปีที่แล้ว +2

      Hahahahaaa, even after six months this advert still persists. Same here. I am just fed up.

    • @Cognitoman
      @Cognitoman 5 ปีที่แล้ว +8

      yeah hes a son of a bitch

    • @KeepItFresh02
      @KeepItFresh02 5 ปีที่แล้ว +1

      @@Cognitoman lol.....

    • @denniszenanywhere
      @denniszenanywhere 5 ปีที่แล้ว

      That guy is back again, EST, 5:34 pm, April 18.

    • @aventurando4502
      @aventurando4502 5 ปีที่แล้ว +2

      adblock

  • @nimamoradianzadeh379
    @nimamoradianzadeh379 2 ปีที่แล้ว

    I am a .Net developer and interested on learning JS. always had some problem with understanding the JS. I found this course really helpful as it also compares the C# and JS . thanks a lot

  • @igs4112
    @igs4112 4 ปีที่แล้ว

    This is great, i had before clear many aspects from OOP, but now i feel i got even more knowledge about it, thanks Mosh for the tutorial! :]

  • @kashifumar4552
    @kashifumar4552 ปีที่แล้ว +5

    One semester of work is done in about an hour. A very very great lecture.

  • @sonnychiba5270
    @sonnychiba5270 5 ปีที่แล้ว +5

    You should write a Mosh framework that allows people to easily create video tutorials with clear visuals. Your tutorials are great and easy to follow

  • @Denis-ge2xu
    @Denis-ge2xu 3 ปีที่แล้ว +1

    I almost cried for the clarity of your teaching methodology!
    Graciasss

  • @AbhishekKumar-fl8bw
    @AbhishekKumar-fl8bw 4 ปีที่แล้ว

    A MUST watch video before interviews!! Thanks Mosh

  • @ShwetaKalariya
    @ShwetaKalariya 5 ปีที่แล้ว +6

    Hey Hi Mosh, I must say your tutorials super awesome..

  • @kid_kulafu_1727
    @kid_kulafu_1727 6 ปีที่แล้ว +14

    I wish all professors are like you. Please have a lot of children and teach them the way you thought us. Itll help the future generations.

    • @Wedneswere
      @Wedneswere 5 ปีที่แล้ว +1

      Once up a time, before standardized tests, all teachers were actually teachers.

  • @jurjenvanderhoek316
    @jurjenvanderhoek316 ปีที่แล้ว

    Wow, i am watching this now, and so far this is the best explanation of OOP i have ever encountered. Thank you!

  • @sam0070070071981
    @sam0070070071981 3 ปีที่แล้ว

    so far the best video on OOPs java-script. I really appreciate your hard-work and efforts.

  • @AureliaCasts
    @AureliaCasts 6 ปีที่แล้ว +10

    Great tutorial on OOP, thanks!

  • @pouyajabbarisani
    @pouyajabbarisani 5 ปีที่แล้ว +21

    I would like to explain oop in #arrowFunctions as methods a little bit for dear developers in here:
    If you use factory function, then you can NOT use #this keyword in it because it refers to the window object.
    But,
    If you use constructor function, then you can use #this keyword because it refers to our own object.

  • @TomaHawk00HouseMusic
    @TomaHawk00HouseMusic 2 ปีที่แล้ว

    Amazed on how simple you make the things, mate.

  • @dopetag
    @dopetag ปีที่แล้ว

    You are the man! You explain things in a really simple way. Thank you for your work!

  • @user-oy9ib1ko8l
    @user-oy9ib1ko8l 5 ปีที่แล้ว +4

    Thank you! I finally start to feel like I understand objects!

  • @Ganamabunta08
    @Ganamabunta08 5 ปีที่แล้ว +4

    I think I understand OOP JS a little better now. I'll still need to get back at apply and call.
    Thanks a lot !

  • @NathanCarlton
    @NathanCarlton 4 ปีที่แล้ว

    🤯I've been around OOP for 20 years and this is the first time someone explained it

  • @magdazelezik9073
    @magdazelezik9073 5 ปีที่แล้ว +2

    very well prepared tutorial, comprehensive and simple :) thanks

  • @dommcica
    @dommcica 5 ปีที่แล้ว +3

    Hi Mosh! Great tutorial, it really helped me a lot to understand the basics. I will definitely continue with the rest of your videos.
    But I found the example with increase() function a bit confusing. I am not skilled enough, so maybe I am mistaken, but at 34:15 - 34:42 the same result (number = 10, not 11 as you stated in video) will return (if we add "return" of course) because of operator i++, which returns a value before increment.

    • @ibtehaj95
      @ibtehaj95 ปีที่แล้ว

      I'm sure you've found this out by now, but just to be clear for others, Mosh and you are both right in this regard. When you pass a variable as an input parameter to a function, its copy is being passed, not the original variable, hence any changes made inside the function will remain inside and never make out of that function.... unless you use a return statement to update the variable outside the function (as you said). To add onto this, this problem is solved by using pointers in C++, thru which you can pass the "reference" of that variable to a function and then no copy is created.

  • @SohaibShaheen
    @SohaibShaheen ปีที่แล้ว +3

    Heads up for those coming to this tutorial in 2023, setting variables like shown in example:
    let duration, startTime, endTime = 0;
    will actually lead duration to be undefined and when you try to add seconds to it in stop function, it will produce NaN.
    Correct way is: let duration = 0, startTime = 0, endTime = 0;

  • @Daniyar52
    @Daniyar52 2 ปีที่แล้ว

    I am a Java dev with 7 years of experience. Your videos on JavaScript are the best ones so far to brush up rusty js knowledge !)

  • @krisek98
    @krisek98 5 ปีที่แล้ว +1

    God damn big thanks for that course, thats what I needed to be introduced into JavaScript after 4 languages I know already. Again, BIG THANKS!

  • @AamirKhan-ci5gt
    @AamirKhan-ci5gt 6 ปีที่แล้ว +166

    JavaScript is the language i hate the most because of its syntax.
    Now only because of MOSH's tutorials.......................
    I am full-stack JavaScript developer and love the JavaScript the most.

    • @Tux0xFF
      @Tux0xFF 5 ปีที่แล้ว +3

      Same for me, i now like js es6 because of his tutorials, makes sense, it finally clicks.

    • @nitishsingh535
      @nitishsingh535 5 ปีที่แล้ว +1

      Plz tell me....I don't know what a JavaScript do or why it uses so much syntax...what do they do with a web page...

    • @iLoveTurtlesHaha
      @iLoveTurtlesHaha 5 ปีที่แล้ว +6

      @@nitishsingh535 You need a course that caters to beginners. I hate to spam Mosh's channel but if he doesn't have a beginners course for web dev check out Andrei N's "The complete Web Developer" on Udemy. If you can find a beginners course from Mosh, I highly recommend Mosh's over anyone else because his teaching style is better. He makes you understand concepts on a deeper level - something you'll be thankful for if you are trying to find work in the industry.

    • @skjahir1091
      @skjahir1091 5 ปีที่แล้ว +1

      thanks mosh for such informative tutorial

    • @DevOtionSynthax
      @DevOtionSynthax 5 ปีที่แล้ว +1

      @@nitishsingh535 Try this: www.udemy.com/javascript-basics-for-beginners/ Mosh's begginers course, I used it and learned a lot!

  • @liadoz4369
    @liadoz4369 4 ปีที่แล้ว +7

    43:45 - It called Encapsulation, not Abstraction. Abstraction is something else in OOP

  • @clever_dude
    @clever_dude 6 ปีที่แล้ว

    This is one of the best Tutorial i have ever seen on any platform because of animations and teaching skills of he. please keep doing such awesome videos.

  • @TheDMTLover
    @TheDMTLover 2 ปีที่แล้ว

    Thank you Mosh. I'm starting to learn JS coming from an RPG/ILE AS/400 background. I'm glad I came across you. Many thx.

  • @DjSeymur
    @DjSeymur 3 ปีที่แล้ว +14

    You taught so much in the introduction, I thought the video ended at 8:48. lol

  • @juandig
    @juandig 4 ปีที่แล้ว +9

    Finally a tutorial on how to write OOP in JS ;-;
    Thanks a lot, it makes sense and I don't know why I couldn't get to this by myself. It's very simple :))
    The most interesting thing for me was using the "in" operator to check whether an key is in an object or not though, I've always used "Object.keys(obj).indexOf("key") > -1" 😅

    • @shreedharsharma4745
      @shreedharsharma4745 4 ปีที่แล้ว

      seems like you might know what I need. I want to become a front-end web dev, the course I'm currently doing doesn't provide me with the basics of javascript, should I watch this video?

    • @juandig
      @juandig 4 ปีที่แล้ว +2

      @@shreedharsharma4745 honestly mate, I can't learn with courses and stuff. I learned programming by trying out different stuff. It started with keybinders with Autohotkey (simple scripting language) and I just advanced as I tried out new stuff. Get yourself some random web page from the internet, maybe something from dribble and try to create your own copy of that website locally. Think abt stuff you would do differently. Check out some portfolios of devs and look at their projects. The best way to learn programming in my opinion is by trying.
      This video helped me because I already knew how object oriented programming works with other languages and I never really thought abt it in JavaScript. This video gave me a better understanding of how functions and objects etc work in JavaScript and helped me organizing my codebase in JavaScript projects :)

  • @shwetamulay414
    @shwetamulay414 4 ปีที่แล้ว +2

    Hello Mosh, I Loved this video. I got most of the concepts clear. please continue on posting JavaScript concept videos(with coding examples as you already do !) or some JS real time projects. Thanks a lot!

  • @poojajawanjal2648
    @poojajawanjal2648 5 ปีที่แล้ว +1

    Than you Mosh, pointwise explanation.

  • @k23raj2
    @k23raj2 4 ปีที่แล้ว +20

    Fullstack developer=== traversy media + MOSH .
    Thanks to both channels which made many learners to programmers.
    Pls like if u agree.

  • @georgesmith3022
    @georgesmith3022 6 ปีที่แล้ว +49

    Mosh I come from an OOP background and I was really confused with objects in Javascript. Fortunately, this tutorial cleared up a lot of things. However, I am wondering if these are worth knowing since ES6 defines proper objects via classes and not by functions as shown here. Will this be covered in your course? thanks

    • @sanal4492
      @sanal4492 2 ปีที่แล้ว +6

      Well that's not true. The classes added in ES6 are just syntactical sugar behind which things work just as before. Javascript has always been a prototypical based Object Oriented Programming language.

    • @msbrdmr
      @msbrdmr ปีที่แล้ว

      @@sanal4492 so there is a class notation (syntactically) but in background, it works as a constructor function.

  • @newthepanch
    @newthepanch 4 ปีที่แล้ว

    omg dude, you rock so bad, i've been digging around looking for a good js tutorial or book and i came to you by a facebook group, im going to the complete course and become a pro, thank you so much.

  • @hk_build
    @hk_build 6 ปีที่แล้ว +1

    Explaination is too good!! thank you very much for making programming EASY..

  • @natnaelalemayehu9112
    @natnaelalemayehu9112 4 ปีที่แล้ว +43

    I just love the background music

    • @SeriesTube01
      @SeriesTube01 4 ปีที่แล้ว +2

      It's a programming class in a jazz bar. 👍

    • @p3r1n1
      @p3r1n1 4 ปีที่แล้ว +2

      it's classy (pun.js)

  • @shaswatkumarparida6179
    @shaswatkumarparida6179 3 ปีที่แล้ว +9

    Great tutorial Mosh, my only concern is I felt during the factory vs constructor function part, it got very muddled up and confusing. But apart from that, it was very comprehensive.

    • @breadpitt7557
      @breadpitt7557 2 ปีที่แล้ว

      I agree. I think a simpler example would help. I'm still learning, and that part tripped me up.

  • @rennishj
    @rennishj 6 ปีที่แล้ว +1

    Thank You so much for taking then time to create this awesome video and making available for free.

  • @luisanamora2363
    @luisanamora2363 2 ปีที่แล้ว +1

    I finally understand getters and setters. You are fantastic, thank you so much 💜

  • @vandeljasonstrypper6734
    @vandeljasonstrypper6734 4 ปีที่แล้ว +35

    38:24 Ok now I know why strongly-type devs say "Javascript is a cancer"

    • @BLABLABLABLABLABL298
      @BLABLABLABLABLABL298 3 ปีที่แล้ว +3

      That's why we have TypeScript

    • @Victory_Accomplished
      @Victory_Accomplished 3 ปีที่แล้ว +1

      I guess because there are a lot of functions and thing that you can do wrong but the good side is that JavaScript make amazing stuff

    • @EGG-Academy
      @EGG-Academy 3 ปีที่แล้ว

      @@Victory_Accomplished kull

  • @Dreadly
    @Dreadly 3 ปีที่แล้ว +3

    20:30 - Why does this return Circle and not another? I thought the new operator pointed this to the newly created object.

  • @afsanazamannipa7711
    @afsanazamannipa7711 4 ปีที่แล้ว

    I am currently following this playlist of JS. This video is awesomeee!! Can't thank enough for this video.

  • @jasminepvo
    @jasminepvo ปีที่แล้ว +1

    Coming from 100Devs, I am a new subscriber. Loved how organized and easily explained everything was!

  • @seiko8027
    @seiko8027 2 ปีที่แล้ว +3

    This is a great video! I've recommended it to many of my classmates. Just a small suggestion, maybe in the example, instead of 'circle, radius, location...', you can use something easier to understand like 'user's info', 'apples', 'shopping list' etc. to make the learning process even more smoother. I know that circle is easy to understand already XD but every time I see radius and stuff like computeOptimumLocation, it takes me 1 second to react >

  • @trappedcat3615
    @trappedcat3615 6 ปีที่แล้ว +11

    I prefer factory functions over new objects. Less maintanence.

    • @ARQAlejandroM
      @ARQAlejandroM 6 ปีที่แล้ว +1

      can you explain what do you mean with less maintanence, please? :-)

    • @trappedcat3615
      @trappedcat3615 6 ปีที่แล้ว +3

      Alejandro Montes depending on what contexts and how the new object is used, it may require a lot binding of the "this" keyword.

    • @littlered55555
      @littlered55555 3 ปีที่แล้ว +1

      Circle.call({ },3); but if it is nameless how do we access it? I tried " const another1 = Circle.call({ },3); " but it is undefined in my browser. Any thoughts?

  • @nicholaspitti8171
    @nicholaspitti8171 8 หลายเดือนก่อน

    50:00 explanation about closure. Scope variables are recreated everytime the functuon is called and scope limited to inside of braces. Closure allows function to access parent functions members as well.

  • @harvindersingh9170
    @harvindersingh9170 4 หลายเดือนก่อน +2

    Finally, I understood what OOP is actually and why it is different from functional JS. "Thank you very much, Mosh, for providing this premium quality content for free."

  • @migueltoledopy
    @migueltoledopy 3 ปีที่แล้ว +4

    You lost me when you said on 10:44 :: "This is no for begginers, it's for intermediate level developers, so you need at least three months of experience programming on javascript"
    So I'll practice and see you in 3 months sir, or less, who knows :D great video btw

  • @geekynerd24
    @geekynerd24 4 ปีที่แล้ว +8

    Me:- I dont know coding and i am not intrested
    Mosh:- I am going to make him programmer

  • @peppermintdior
    @peppermintdior 3 ปีที่แล้ว +1

    Love your teaching style and also the animation in the video makes it easy to understand. Thank you sir ♥

  • @ramanparashar1
    @ramanparashar1 5 ปีที่แล้ว

    This guy just made everything look simple !
    Just started coding few months back.. I have been gulping up the React.js courses from last one month & currently doing Redux.... Many things were going over my head & I started to think that programming is difficult...until I saw this tut !
    Highly recommend this to new coding peeps !!

    • @ramanparashar1
      @ramanparashar1 5 ปีที่แล้ว

      I'm an entrepreneur based our of Delhi, India. Currently developing a SaaS product in bootstrap mode.
      Although we have surpassed the beta phase, but on the way we have realized that relying on developers is quite risky as a business, since we as founders have non-technical background.
      Deliberate delays, misguiding & disproportionate salaries are just a few problems which we encountered on our way to launch.
      After that I decided to take things in my own hands & got one of my dev. friend to oversee all the Tech part till I am confident of taking over the Tech.
      My goal is to understand all the stuff that's happening at coding level, & eventually manage the developers we have hired. And also to get my hands on coding if the doomsday arrives.

  • @pierolp1202
    @pierolp1202 5 ปีที่แล้ว +3

    what theme are you using? btw, your videos are awesome!

  • @themorningstar9458
    @themorningstar9458 5 ปีที่แล้ว +1

    Hi Mosh! Thank you for this tutorial. I just subscribed!!

  • @bananapeppernov
    @bananapeppernov 6 ปีที่แล้ว +1

    Thank you so much for this!

  • @ahmadmuqadas78
    @ahmadmuqadas78 ปีที่แล้ว +8

    im so confused when he says in javascript we don't have concept of classes while we do have class in ES6.

    • @user-jq9kz6yf4s
      @user-jq9kz6yf4s 2 หลายเดือนก่อน

      So i need to understand Java😬

    • @Sammysapphira
      @Sammysapphira หลายเดือนก่อน

      Classes are syntactic sugar prototype inheritance in javascript and they do not function as classes in OOP languages. He is talking about the function under the hood.

  • @EricFransen1
    @EricFransen1 6 ปีที่แล้ว +5

    18:32 "in JavaScript we don't have the concept of classes" said while explaining ES6 new JavaScript features.

    • @aranguren12
      @aranguren12 4 ปีที่แล้ว +1

      @@programmingwithmosh Oh god, is the class syntax completely useless then? Can at least be used as a good practice?

  • @rezakhosroshahi
    @rezakhosroshahi 6 ปีที่แล้ว +1

    Thanks, Mosh. I really need something like this about OOP. compact simple and useful.

  • @subramanian121
    @subramanian121 2 ปีที่แล้ว

    Thanks for detailed video Mosh, this has really helped me to upskill my JS knowledge on the area of OOP.

  • @gustavstreicher4867
    @gustavstreicher4867 3 ปีที่แล้ว +3

    What do you mean Javascript doesn't have classes? It was added in ES6.

    • @clammerify
      @clammerify 3 ปีที่แล้ว

      it's not REAL classes in traditional sense. it still just a regular function underneath.

    • @gustavstreicher4867
      @gustavstreicher4867 3 ปีที่แล้ว

      @@clammerify True, but if you can use it in the language then its part of the language.

  • @petazeta76
    @petazeta76 3 ปีที่แล้ว +5

    I miss prototypes in this tutorial

  • @shivikatripathi5010
    @shivikatripathi5010 5 ปีที่แล้ว +1

    Thanks MOSH for the wonderful video. The videos are in simple easy to understand language which generates interest amongst learners. The course is perfectly organised and explained. Please do make elaborated videos too for react and JS.

  • @yavuzselimdogan9852
    @yavuzselimdogan9852 5 ปีที่แล้ว

    incredibly wonderful tutorial. I love you Mosh.

  • @FRONTRUS
    @FRONTRUS 3 ปีที่แล้ว +39

    *To the everyone reading this* : Sending Virtual hugs to everyone who needs it, Stay Safe!🍃

    • @GuuiYae
      @GuuiYae 3 ปีที่แล้ว

      Your Web Tutorials, need your voice explanation rather than relaxing music.

  • @alexhalemba1484
    @alexhalemba1484 6 ปีที่แล้ว +9

    you are using already es6 stuff. why do you not use "class"?