Never have I watched someone explain callbacks, promises, async and await so clearly! Keep it up
@yt.mhasan5 жыл бұрын
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.
@Jinado14 жыл бұрын
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?*
@satishreddy12843 жыл бұрын
You explanation is really good thank you from india
@rishabhgupta88763 жыл бұрын
great explanation, brother. Thanks!
@marcopolocs2 жыл бұрын
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.
@wafaken4 жыл бұрын
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.
@robertto1ify4 жыл бұрын
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!
@sammaxudov12464 жыл бұрын
He sneezes in 2019: God Bless you. He sneezes these days: I'm outta here
@virathshuklla564 жыл бұрын
Lol me too😂
@wotizit4 жыл бұрын
coughing*
@neilpearce5 жыл бұрын
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 😃
@kornelnyp5 жыл бұрын
Great explanation mate. I was thinking the same thing.
@igeoerre5 жыл бұрын
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.
@hip04hop855 жыл бұрын
This!
@siyaram28555 жыл бұрын
Anthony alicea 😎
@SumitKumar-co2pm5 жыл бұрын
All hail Sir Anthony Alicea 👏👏
@AndrewGray-natreve5 жыл бұрын
Good video, I knew this already. But enjoyed your CSS and html videos so wanted to support the JavaScript videos too!
@CleeveMorris2 жыл бұрын
you're the best doing these tutorials. believe me. it always a fun time learning, thanks!
@MexicanFamilyinPEI4 жыл бұрын
Amazing Ed, always learning something new with your videos, thanks!
@stevenherra49754 жыл бұрын
Just keep them comming!!! This may be my favorite coding channel among all, great work!
@busyrand5 жыл бұрын
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.
@davidguetta98745 жыл бұрын
Top 6 - In job interview never forget to tell that P in HTML stands for Programming
@ajbwbd5 жыл бұрын
There isn't even any 'P' in HTML 😂😂.... (BEST INDIRECT ROAST TO PEOPLE NOT NOTICING THAT)
@evakuator81185 жыл бұрын
@@ajbwbd best way to ruin a joke is to explain it :\
@medoubella5 жыл бұрын
@youtubesucks I'm not the only one who immediately thought about the p tag 😂
@Microphunktv-jb3kj5 жыл бұрын
well html is pee... that's why some people have switched to Pug or others... ^^
@yusakmanullang76564 жыл бұрын
I'm HTML engineer, I'll sue you
@silvoaxhacka55065 жыл бұрын
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)
@nith.p5 жыл бұрын
Top 3 hardest thing in JavaScript: 1. Promise 2. Prototypes 3. Advanced Syntaxes
@kresimircosic37535 жыл бұрын
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.p5 жыл бұрын
@@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.
@Rambou925 жыл бұрын
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!
@pushpakgupta73965 жыл бұрын
i just can't control my smile when you come smiling onto the screen :)
@ralphlouis27054 жыл бұрын
At the beginning I already knew ur explanation will clear the air ways
@suchitbande50745 жыл бұрын
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 :).
@sudharshaniyengar15875 жыл бұрын
Keep doing such awesome vids!!! Love from India !!!
@RyanJohnson4 жыл бұрын
👍 for switching gears for that call stack explanation.
@abdalwahab73705 жыл бұрын
One of the best channels on KZbin
@aliprokanggames44585 жыл бұрын
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
@wirklichtotal89965 жыл бұрын
Franky, this is the most relevant js course ever. Thank you Mr for your approach. This is really professional
@PablxVillarreal4 жыл бұрын
Love your videos dude!
@devdude76073 жыл бұрын
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!
@wilbertopachecobatista50495 жыл бұрын
Man this has been the best explanation about CallStack ever. Thanks!!!
@whatsappboy69805 жыл бұрын
This is what I wanted ! Keep it Up Ed
@nikolaykoychev82614 жыл бұрын
Best video on the internet about JS!!!
@mouhamaddiop11445 жыл бұрын
You're absolutely cool. Your sneeze is just perfect.
@theBIGgee4 жыл бұрын
Not cool now cos of covid 19
@mouhamaddiop11444 жыл бұрын
@@theBIGgee you're right
@shahbozabdullayev55834 жыл бұрын
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!
@jlambert120132 жыл бұрын
Never seen any of this explained so well, thanks!!
@naiki14095 жыл бұрын
Bell clicked,nice video. Can you also explain lexical scope?
@SuboptimalEng5 жыл бұрын
What vscode theme do you use???
@aleksd2865 жыл бұрын
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
@rahulrana8924 жыл бұрын
This is pure gold in knowledge
@pichdarapo31455 жыл бұрын
My best teacher on KZbin!!!!
@debugmedia5 жыл бұрын
What software do you use to create your Thumbnails ? Thank you for the video
@hyperbolicorbit12154 жыл бұрын
Is there any difference between IIFE and just use {}? What I mean is that you can do the same as the example on 12:45 with: { var name = 'Ed'; } console.log(name); // Still this will give an error since "name" scope is only in {...}
@emmytobs5 жыл бұрын
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
@okmorenumbers4 жыл бұрын
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]
@timepassscript2 жыл бұрын
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
@abcodemoldova19075 жыл бұрын
Succese mai departe ! Salutari din Moldova :)
@developedbyed5 жыл бұрын
Multumesc frumos!
@rajanbrahma05 жыл бұрын
Explained in the simplest way!! Great job!
@oanamacarie51555 жыл бұрын
I love your style...makes me smile a lot. :)) Keep up the good work!!! :D
@vikasni954 жыл бұрын
Do u. Love him dev ed?
@RameenFallschirmjager5 жыл бұрын
understanding is very pleasant feeling!
@romanroman96384 жыл бұрын
for me - the hardest part of JS is - callbacks and promises. Thank you for mentioning that up
@kornelnyp5 жыл бұрын
Hey! Just a note. Correct me if I'm wrong but as far as I know there are 3 scopes. Global, function and also block scope which you forgot to mention. An example of a block scope is a block o code following the if() statement. I thought learners should be aware of that too. Cheers
@TheMessixaviniesta5 жыл бұрын
ES6 did introduce block scope, but only for let and const.
@omsinha35724 жыл бұрын
Thanks Ed, it was really awesome video and you make it very simple to understand...
@abhishektyagi44285 жыл бұрын
Sir Could you please make a video explaining the resources you use to learn or enhance your programming skills
@RameenFallschirmjager5 жыл бұрын
it's my question too.
@tryonqueenss4 жыл бұрын
Dear Ed, You are my hero...u made me a front end developer within three months.thank u so much....I'm looking forward to seeing ur videos....ur d best thing dat happened to web development 🤓🤓@dev_Ed
@FirstLast-gk6lg3 жыл бұрын
I would love to see a video on "Things a JS developer without a CS degree doesn't know" because that is me :) I am 10-11 months into coding, 3000ish hours, working in my first Web Dev job. And I have this suspicion that bc I don't know computer science i am missing a lot of info under the hood. Would love to see info on that topic. Thank you
@agent0000000085 жыл бұрын
*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
@AfzalKhan-ht2qk5 жыл бұрын
Hey Dev Ed! Nice video.. But what I have noticed when u are explaining IIFE at 11:47 there is a syntax error!! But as soon as you have saved the file the syntax error get removed. Can u tell us which extension you are using for VSCode.
@ChillCityNaveen5 жыл бұрын
Awesome tutorial... Can please do video about how to learn hard functionalities in easiest way
@danielbilic7025 жыл бұрын
Love your VS Settings. Can you make a video about your VSCode settings would be nice.
@maxwee52764 жыл бұрын
Where can I find visual studio extensions like yours? Dev Ed bro?
@cyberprompt5 жыл бұрын
strange you typed the "correct" way to do an IIFE, then it changed to what Doug Crockford calls "dog balls notation". Both work, but I'd be confused if this was my first time seeing it. in case you are reading this and are confused: (function(){ ... }());
@raymondc58744 жыл бұрын
Great content. Straight to the point.
@MANISHSHARMA-xk1su5 жыл бұрын
Great Video...Really wanted it...let me know which theme you are using in your VS code...Its cool...
@jaimerojas65784 жыл бұрын
Thanks a lot Ed this has been really really helpful for me it's crystal clear and well explained!
@bosscoding39994 жыл бұрын
hey ed I want to be good in js I have taken many lectures but steel I can't make a very simple Hunsberger nav so help me if you have any solution to this
@Mark_Kop5 жыл бұрын
Hey, Ed! I'd like to suggest a React video about Hooks. I'm loving your channel, keep up with the good work
@GeordyJames5 жыл бұрын
Hoisting is not moving up variables and functions to the top. It is the process of setting up of memory space during the creation phase. The variables will be assigned undefined and the whole functions will be stored into the memory. This is also a reason in which anonymous function cannot be hoisted as its initial value will be assigned undefined and you cannot call a undefined.
@MRMOTOFOTO5 жыл бұрын
Great simple explanations
@naveedalirehmani41354 жыл бұрын
I knew all of these concepts already but I still watched it
@olatunjisamson39183 жыл бұрын
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.
@swarajkaran3 жыл бұрын
var - undefined const - can't be accessed before initialisation. Why there's a difference? Both are variable declaration. Reason - Temporal Dead Zone
@gasbill195 жыл бұрын
hoisting is very well explained! double thumbs up
@ffgcvs5 жыл бұрын
Could you explain on another video about what and when we need to use Promises / Then?
@acloudonthebluestsky96875 жыл бұрын
use promise when u have purpose for application to run on after 2009 browser asycn await for application after 2015 broswer if the customer require the app to run on the old things then use classic callback , which can be nightmare if u have 3+ callbacks lol
@kid_kulafu_17274 жыл бұрын
Hello. Nice tutorial. But one thing to clarify though on hoisting. Is the JS engine/compiler literally moving the code on top? I think this is wrong. There is an action happening before the execution phase, its the CREATION phase, in this phase all var declaration are marked as undefined, “theres no moving on top”. You can read this in spec or from medium post. I forgot but theres no moving on top.
@manuelsantos78074 жыл бұрын
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!
@djlee07215 жыл бұрын
Awesome video. Thank you!
@PouyaAtaei5 жыл бұрын
Tutorial aside, you sound like such a great person :P cheers....
@t74devkw5 жыл бұрын
PLEASE WHICH THEME IS THIS ON YOUR VSCODE??? The icons are so dope
@pushkarasapure75145 жыл бұрын
I guess material icons pack
@t74devkw5 жыл бұрын
@@pushkarasapure7514 THANK YOU
@thewildsisters45964 жыл бұрын
But if I'm right hoisting isn't actually moving our code to to top if that was the case than your code would of ran with out an undefined value which to correct you is not an error it's actually a value a special value created for us when it's ran through the execution context and this just means lack of existence. The reason your able call the name after using a const is because the variable is already saved in memory and this is what hoisting is. Hoisting is not taking your code and running it as if it was at the top. Hoisting is when the execution context is created during this phase memory space is set up for variables and functions that is called hoisting 😎😎
@michaelzhu90754 жыл бұрын
What is that "loupe"? What is the URL of it? I found it helpful. Thanks.
@TheMohsell5 жыл бұрын
Thank you for the instructive video. JS, i tried to get my head around this language , but man , JS is just broken by design. thumbs up for those who can write big frameworks using it
@DJalem5 жыл бұрын
Same here, 1 year JS but fighting with the fundamentals...
@Choxx05 жыл бұрын
Thanks Ed, keep up the good work!
@longingbydesign4 жыл бұрын
When explaining the call stack, why did you leave out the console.log calls?
@Amar111152 жыл бұрын
Wow! Learned it by heart!
@auchucknorris3 жыл бұрын
i also like iifes for variables that require a function to run for its return falue
@maxiequa5675 жыл бұрын
what happened to promises though? did that part get edited out or did i fall asleep?
@alejandrogomez87665 жыл бұрын
Wooow, finally i understand async/await, thanks a lot 👌
@samlutz8585 жыл бұрын
very nice! I am a new developer just graduating boot camp and looking for some content creators here! You earned a new sub thx Ed!
@jonbikaku61335 жыл бұрын
Damn dude, thanks for the intro compliment man!! xD
@gayanhewegeonline45944 жыл бұрын
Thanks! You are a great teacher!
@akshathnadig344 жыл бұрын
You are good teacher man🙂🙂
@benmor70213 жыл бұрын
Thank you (again) Ed !
@DevlogBill2 жыл бұрын
OMG! DevEd, I am struggling with recursive functions! I don't know if I need recursions for this or maybe if I should use .math.random(); but I am trying to create a mineSweep game you normal find in a lot of PC Desktop computers. Basically, it is a grid normally 32 X 32 square blocks and the principle of the game is you have hidden mines within some of these blocks. Within the grid the blocks spawn and the mines spawn randomly when starting a new game. I am thinking hard and trying to figure out how to get the blocks and mines to spawn randomly using recursive functions. I was thinking maybe the algorithm Fibonacci would solve this issue? Or some other type of algorithm would work better? What is your recommendation? Thanks a million DevEd hope to hear from you and thank you for your excellent content.
@niemirek185 жыл бұрын
Amazing video as always ! :D Can u now explain closures ?
@mdarifulhouqe32095 жыл бұрын
hay Dev Ed!!! Make a video about working contact form in php for html template.
@fmartinez0044 жыл бұрын
Hey Dev Ed, can you create a video on how you do your recordings and green screen setup?
@catrosits4 жыл бұрын
love it.. keep it up.. i am a fan
@RockyDarlami74 жыл бұрын
Awesome explanation. Thank you .
@sed_artis5 жыл бұрын
Nothing gets moved "to the top"! In the creation phase of the execution context, the parser sets up memory space for variables and functions, doesn't move code anywhere.
@alimir53505 жыл бұрын
I knew all of that it means I know JS well. Yay!
@sebailing62194 жыл бұрын
Very good JavaScript Learn information!
@NotAgentPerry3 жыл бұрын
Can you make a tutorial for how and when do we use a symbols in a code
@kingsolomon_fitness5 жыл бұрын
Your content is really dope King Ed. One thing, avoid making jokes like "javascript is making me depressed" or any negative energy like that.