Top 5 Javascript Things You Should Know!

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ก.ค. 2019
  • Check out my courses and become more creative!
    developedbyed.com/
    Microphones I Use
    Audio-Technica AT2020 - geni.us/Re78 (Amazon)
    Deity V-Mic D3 Pro - geni.us/y0HjQbz (Amazon)
    BEHRINGER Audio Interface - geni.us/AcbCpd9 (Amazon)
    Camera Gear
    Fujifilm X-T3 - geni.us/7IM1 (Amazon)
    Fujinon XF18-55mmF2.8-4 - geni.us/sztaN (Amazon)
    PC Specs
    Kingston SQ500S37/480G 480GB - geni.us/s7HWm (Amazon)
    Gigabyte GeForce RTX 2070 - geni.us/uRw71gN (Amazon)
    AMD Ryzen 7 2700X - geni.us/NaBSC (Amazon)
    Corsair Vengeance LPX 16GB - geni.us/JDqK1KK (Amazon)
    ASRock B450M PRO4 - geni.us/YAtI (Amazon)
    DeepCool ATX Mid Tower - geni.us/U8xJY (Amazon)
    Dell Ultrasharp U2718Q 27-Inch 4K - geni.us/kXHE (Amazon)
    Dell Ultra Sharp LED-Lit Monitor 25 2k - geni.us/bilekX (Amazon)
    Logitech G305 - geni.us/PIjyn (Amazon)
    Logitech MX Keys Advanced - geni.us/YBsCVX0 (Amazon)
    DISCLAIMERS:
    I am a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.
    🎁Support me on Patreon for exclusive episodes, discord and more!
    / dev_ed
    In this episode we are going to take a look at the top 5 concepts you should know in javascript.
    These concepts are good to learn after you are comfortable with the basic syntax of javascript and you want to dive deeper into what is happening under the hood.
    We are going to take a look at things like how hoisting works, visualizing how our javascript code runs with the call stack.
    A basic overview of callbacks and async await (deserves its own episode).
    📕 Things covered in this video:
    - Javascript Hoisting
    - Call Stack
    - IIFE
    - Scope
    - Event Loop, Web Api's and callback queue
    - Callbacks, async-await
    🛴 Follow me on:
    Twitter: / deved94
    Instagram: / developedbyed
    Github: github.com/DevEdwin
    #javascript #webdevelopment
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 402

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

    8:33 - Yea Boy!! That's the most amazing part of the whole video. BTW loved it. The video.

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

      lol I was thinking that I'm the only one that likes it, don't forget the BOOOM SFX though

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

      Find awesome tutorials for JS, AngularJS, NodeJS, ReactJS
      freelectureslinks.blogspot.com

    • @SH-lt2iv
      @SH-lt2iv 4 ปีที่แล้ว +1

      lmao just got on that part was gonna comment but already seen here haha

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

      1 BOOOM !

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

      No, you loved that beautiful face.

  • @bokibogi
    @bokibogi 4 ปีที่แล้ว +278

    Para salto rápido:
    00:40 Hoisting
    06:50 Callstack
    11:16 IIFE
    13:03 Scope
    17:28 Callbacks
    25:06 Async await

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

    Never have I watched someone explain callbacks, promises, async and await so clearly! Keep it up

  • @yt.mhasan
    @yt.mhasan 5 ปีที่แล้ว +21

    Now I have to press bell icon. I've been following your uploads and watching, but now I have to have alert for your uploads. You're creating awesome and quality contents for us, for the community, for the present.
    Thank you, man.

  • @runningthenorth-west516
    @runningthenorth-west516 4 ปีที่แล้ว +1

    I've watched a lot of JS beginner videos, and Dev Ed's have always been the most entertaining/interesting. Keep it up!

  • @AndrewGray-natreve
    @AndrewGray-natreve 5 ปีที่แล้ว +7

    Good video, I knew this already. But enjoyed your CSS and html videos so wanted to support the JavaScript videos too!

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

    i just can't control my smile when you come smiling onto the screen :)

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

    I was about to close this video thinking you will just talk about what to learn for half an hour but I stick to it a bit longer and I got surprise that you teach the things you talk about. And I thank myself for sticking to it. I got a good grasp of things you teach here. Thank you.

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

    This was a phenomenal explanation of concepts that I was aware of, but couldn't grasp well enough to explain them. Well done. Thank you.

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

    Just keep them comming!!! This may be my favorite coding channel among all, great work!

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

    Great Video as always!
    But could you do some videos on algorithms and data structures (hash maps, stacks, binary trees etc.)? That would be awesome

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

    you're the best doing these tutorials. believe me. it always a fun time learning, thanks!

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

    Hey Ed, Thank you for making videos like these and explaining complex concepts in simplest way. Can you please make a video series on NodeJs explaining each concept in details. That would be really helpful. Thank you :).

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

    Amazing Ed, always learning something new with your videos, thanks!

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

    Franky, this is the most relevant js course ever. Thank you Mr for your approach. This is really professional

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

    Im so happy to "find" you here man. English is not my native language, and Im not the "smartest" person about computer programming, but you explain very very very well!! Congratulations and all my respect!

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

    Explained in the simplest way!! Great job!

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

    Hey, Ed! I'd like to suggest a React video about Hooks. I'm loving your channel, keep up with the good work

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

    This is what I wanted ! Keep it Up Ed

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

    Man this has been the best explanation about CallStack ever. Thanks!!!

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

    Keep doing such awesome vids!!! Love from India !!!

  • @Jinado1
    @Jinado1 4 ปีที่แล้ว +27

    Hey, Ed! I really enjoyed your video, however I would like to add something when it comes to scope.
    There's a difference between creating a variable using the keyword "var" and using the keywords "let/const". Bascially, a variable created with "var" has a standard scope of "Function scope" (if it is not declared globally, of course). That means that no matter where you declare that variable in a function, it will be accessible by that function anywhere after its declaration, while "let" and "const" have a "Block scope" which means it's only accessible within the block in which it was declared, and any children of that block. A block would be anything like a Switch-statement or an IF-statement for example.
    If you look at the below code, you'll see that inside the function *sayHello()* , there is an IF-statement, and within that IF-statement is a variable declaration (and assignment) using the "let" keyword.
    *function sayHello(){*
    *if(true){*
    *let name = "Pedro";*
    *console.log("Hello there, " + name + "!");*
    *}*
    *}*
    *sayHello();*
    When running the above code, you'll get the following output:
    *Hello there, Pedro!*
    If you were to then add a second console.log() call after the IF-statement, but still inside the function, like below:
    *function sayHello(){*
    *if(true){*
    *let name = "Pedro";*
    *console.log("Hello there, " + name + "!");*
    *}*
    *console.log("Is that really you, " + name + "?");*
    *}*
    *sayHello();*
    You will end up getting an error because "name" is undefined. The reason for that being that the variable "name", due to being declared with the "let" keyword, has a block scope. Which, again, means only the block (in this case, the IF-statement), or any child blocks (for example, another IF-statement INSIDE the first IF-statement) has access to the variable. BUT, if it were to be declared using the "var" keyword instead, it would recieve function scope, meaning it would be accessible not only within the block it was declared, but within the whole function in which it was declared. So the following code would NOT throw an error.
    *function sayHello(){*
    *if(true){*
    *var name = "Pedro";*
    *console.log("Hello there, " + name + "!");*
    *}*
    *console.log("Is that really you, " + name + "?");*
    *}*
    *sayHello();*
    Instead, it would give you the following output:
    *Hello there, Pedro!*
    *Is that really you, Pedro?*

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

      You explanation is really good thank you from india

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

      great explanation, brother. Thanks!

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

      This is really going deep but if you are at it you should explain closures then since these things are closely related. I myself am lost a little how to understand closures, how it works within the memory.

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

    Damn dude, thanks for the intro compliment man!! xD

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

    Love your videos dude!

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

    Thank you so much dude!U r one of my first inspiration to keep up with web dev carrier,when i knew shit about programming.Thank you so much my man!

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

    👍 for switching gears for that call stack explanation.

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

    Greetings from France !
    You actually are one of the best coding youtuber, with a real personnality :)
    We are never bored! Even your little mistakes makes the video more "fun" and lively!
    (Btw, I'm sorry for my english)

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

    Top 6 - In job interview never forget to tell that P in HTML stands for Programming

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

      There isn't even any 'P' in HTML 😂😂.... (BEST INDIRECT ROAST TO PEOPLE NOT NOTICING THAT)

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

      @@ajbwbd best way to ruin a joke is to explain it :\

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

      @youtubesucks I'm not the only one who immediately thought about the p tag 😂

    • @Microphunktv-jb3kj
      @Microphunktv-jb3kj 4 ปีที่แล้ว +1

      well html is pee... that's why some people have switched to Pug or others... ^^

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

      I'm HTML engineer, I'll sue you

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

    At the beginning I already knew ur explanation will clear the air ways

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

    Thanks a lot Ed this has been really really helpful for me it's crystal clear and well explained!

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

    Awesome video. Thank you!

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

    Great content. Straight to the point.

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

    Never seen any of this explained so well, thanks!!

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

    Thanks Ed, it was really awesome video and you make it very simple to understand...

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

    *Hey nice video, thanks a lot!*
    But did you accidentally cut the part before the async/await? Was there something about promises? Video felt like it was cut off after the event loop to the async. you are even saying that you were doing something before... but it’s not in the video?
    Or am I very confused? :D

  • @sammaxudov1246
    @sammaxudov1246 4 ปีที่แล้ว +62

    He sneezes in 2019: God Bless you.
    He sneezes these days: I'm outta here

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

    Bell clicked,nice video. Can you also explain lexical scope?

  • @MANISHSHARMA-xk1su
    @MANISHSHARMA-xk1su 5 ปีที่แล้ว +3

    Great Video...Really wanted it...let me know which theme you are using in your VS code...Its cool...

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

    I love your style...makes me smile a lot. :)) Keep up the good work!!! :D

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

      Do u. Love him dev ed?

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

    This was crazy helpful, thanks a lot!

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

    Sorry, but you haven't really explained how 'Hoisting' works. The JS engine doesn't actually put anything at the top of your page. Here's what really happens....
    When your code is run it goes through what is called the 'execution context' and there's two phases to this...
    1. The Creation phase..
    2. The Execution phase.
    During the creation phase your code is scanned for all functions and variable declarations and all what is found is placed within memory (or what is called the 'variable environment’') Then when the JS engine goes through the next phase (execution) all your variables and function declarations are available to use. This is what's called 'Hoisting'.
    However, they are hoisted in a different way and it's important to remember this....
    Functions are already defined BEFORE the execution phase started, but your variables are set to 'undefined' and will only be defined during the execution phase.
    Sorry to sound like I'm putting you down, but it grips my shit when developers don 't explain truly how hoisting works, so I hope that helps 😃

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

      Great explanation mate. I was thinking the same thing.

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

      I believe Ed gave a simplified version without technical details for us to understand the concept. Sometimes it can confuse people who just want to know how it works without delving into the subject. However I like to know the details, thank you very much for your explanation.

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

      This!

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

      Anthony alicea 😎

    • @SumitKumar-co2pm
      @SumitKumar-co2pm 4 ปีที่แล้ว +5

      All hail Sir Anthony Alicea 👏👏

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

    Thanks Ed, keep up the good work!

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

    Thanks for event loop, callback queue and web apis. I am a junior full stack developer and that is pretty helpful to know, before I knew how it worked, now I know why

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

    new to your channel. the session i watched was so interesting, i subscribed immediately. i just want to know how you've set up your vscode.

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

    Wow!
    Learned it by heart!

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

    Nicely put! thanks

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

    This is pure gold in knowledge

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

    Love your VS Settings. Can you make a video about your VSCode settings would be nice.

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

    Wooow, finally i understand async/await, thanks a lot 👌

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

    Tutorial aside, you sound like such a great person :P cheers....

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

    Awesome explanation. Thank you .

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

    Amazing video as always ! :D Can u now explain closures ?

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

    Great simple explanations

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

    One of the best channels on TH-cam

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

    Awesome tutorial... Can please do video about how to learn hard functionalities in easiest way

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

    love it.. keep it up.. i am a fan

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

    Hey man. Really appreciate your taking out the time to upload this videos. I'll like to know how you were able to run the console in your VScode. It looks really handy and definitely seems like something I really need. Thanks

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

      so, use the terminal to navigate to the folder containing your js file. Then type "node filename" and it will run. ["directory" node app.js]

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

      Or instead just download the extension for run code.
      Then you will basically get a button at the top right portion of editor. Or you can click ctrl+alt+n

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

    Very well explained, thank you!

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

    Actually, @Dev Ed at 2:10 the javascript compiler will not "move" any code, it will add them to Javascripts lexical environment data structure. Awesome video by the way!

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

    hoisting is very well explained! double thumbs up

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

    Thank you man, you the best!

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

    Nice vid. Thanks!

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

    Dude you're amazing thanks alot

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

    Thanks for this video, nice job!

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

    Thank you. Very helpfull

  • @nith.p
    @nith.p 5 ปีที่แล้ว +7

    Top 3 hardest thing in JavaScript:
    1. Promise
    2. Prototypes
    3. Advanced Syntaxes

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

      Funny thing is, I am already pretty familiar with all these, but seeing people writing insane packages or libraries using cutting edge code puts me in a weird position. Especially since they are utilizing TypeScript as a norm, and they write it in a pretty complicated way.

    • @nith.p
      @nith.p 5 ปีที่แล้ว +4

      @@kresimircosic3753 that's what comes to my mind when I try to build my own version of those crazy packages. When I look into all those codes I was like: Did your mother teach you to code like this? I think I'll back off this project.

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

    Very good JavaScript Learn information!

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

    The hardest things were Node interface, Element interface and actually their differences, those were so tricky and confusing that I usually got stuck. It would be best of you to explain me their differences from each other. Thank you!

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

    Thank you (again) Ed !

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

    understanding is very pleasant feeling!

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

    Great work sir

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

    Best video on the internet about JS!!!

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

    Thanks! You are a great teacher!

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

    Succese mai departe ! Salutari din Moldova :)

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

    Great video 👌

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

    What software do you use to create your Thumbnails ? Thank you for the video

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

    My best teacher on TH-cam!!!!

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

    Thank you for the video Dev. What model and brand of camera and microphone did you used in this video?. Thanks in advance for the answer!

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

    I knew all of these concepts already but I still watched it

  • @user-ur4ev7vl6c
    @user-ur4ev7vl6c 5 ปีที่แล้ว

    Dev Ed thanks for you'r content.. You are the best

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

    Loved it...subcribed...bang!

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

    What vscode theme do you use???

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

    for me - the hardest part of JS is - callbacks and promises. Thank you for mentioning that up

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

    You're absolutely cool. Your sneeze is just perfect.

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

      Not cool now cos of covid 19

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

      @@theBIGgee you're right

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

    I was sure I read you were to explain Closures. Did I miss something? Great video btw

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

    i also like iifes for variables that require a function to run for its return falue

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

    Hey Dev Ed, can you create a video on how you do your recordings and green screen setup?

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

    love your content

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

    Sir Could you please make a video explaining the resources you use to learn or enhance your programming skills

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

    Hi, can you do videos on data structures & common javascript interview problems?

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

    I knew all of that it means I know JS well. Yay!

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

    Thank you, Ed.

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

    hay Dev Ed!!! Make a video about working contact form in php for html template.

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

    Thank you! Even though I have already know all of them.

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

    tnx. Good Video.

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

    Can you please make a video on JavaScript closure☺️

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

    You are good teacher man🙂🙂

  • @user-qm4cj2es1m
    @user-qm4cj2es1m ปีที่แล้ว

    what I find hard about JS is methods. An example of them includes preventDefault and preventPropagation

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

    hardest thing for me is the debugging for JS!! May be I am the noob one here :P

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

    what happened to promises though? did that part get edited out or did i fall asleep?