You have a super rare skill. It's rare to find someone who is both a skilled programmer AND a skilled teacher / communicator. Thank you for your videos
Thank you for the clear explanation! Currently, I'm learning HTML, CSS & Javascript and if I don't understand something, I'm firstly looking at your channel to find an explanation. If it doesn't exist on your channel, then I'm searching in other sources. You are a very good teacher, your videos are short, consistent and very clear, without any unnecessary content. Thank you very much for sharing your time to make these videos.
I'm really glad to hear. If you run into anything that confuses you in the bootcamp feel free to let me know, and I can try to help or make a video on the topic.
It is a bit counter intuitive based on the name. You can use Object.freeze to create an object that cannot have the properties reassigned, but it will still let you reassign a nested property such as company.ceo.name = 'New name'
@@WebDevSimplified thanks for the tip! As I was watching the part I referenced earlier, I was wondering how we would assign constants to the properties of an object, so it's like you read my mind. :D
I never knew var worked like this, and I've been using Javascript almost daily for over 2 years. I always assumed it worked like let because I have a background in other programming languages and assumed it's scoping worked the same. So wild! Thanks for the clarification!
You forgot to say one more thing: when you declare a variable with var keyowrd, this automatically creates a property inside the Window ojbject.. so, if you say for example: var x = 1; and after that you say: console.log(window)... you will see that in the window object you will find the property X with the value of 1. Instead, if you declare a variable with let or const, this won't ceate a property inside the Window object. I guess this was also very important to mention!
Would like to say, well done and thank you for a clear and concise explanation of the similarities, differences and when to use, Var, Const and Let. Watched other videos and without doubt, you nail it better here with both explanation and example. Will be watching more of your stuff as this was a great measure stick for the quality of teaching. Keep up the great work.
Great great explanation.. you always here that the differences is the 'block scope' and then wonder, well, like within an if or for loop, but nobody else ever says that...
Yes I did learn something thank you very much man it was hard for me to understand this but you explained it in like less than 10 minutes lol you have a good day too :)
1)Declaration Let variable in a {} block scope can't be access outside of it 2)let name = value1, let name = value2, can't redeclare let twice Instead of this should be written name=value2; 3)let can be change it’s value const can't as it is constant but it can change its object value.🙃
You forgot to say one more thing: when you declare a variable with var keyowrd, this automatically creates a property inside the Window ojbject.. so, if you say for example: var x = 1; and after that you say: console.log(window)... you will see that in the window object you will find the property X with the value of 1. Instead, if you declare a variable with let or const, this won't ceate a property inside the Window object. I guess this was also very important to mention!
man you are teaching the things that are not widely discussed which is why i am going to subscribe. You have a true gift of teaching in simple terms. i enjoy your channel, especially the tutorial on promises
Good old Java script, Let (no pun intended) us introduce "const" that does not allow for re-assigning to avoid human error so that it is "constant" except when it's not...
lol true, but I like seeing a human explain it sometimes. Even though I can get quick answers from Professor GPT, I've made it a habit to watch one short intructional video like this everyday.
I came from C#. It's pretty simple there. Use var for what you wanna change, const for what you don't wanna change; variable and constant. Simple language for simple people.
Been building sites for 30 years and always avoided JS due to pre jquery experience. Am now taking the time to relearn JS and node while I’m at it and I have to say I’m regretting not doing this sooner. I’ve been programming in C# php Perl VB and JS is a peace of cake by comparison .
Thnks for the detailed vid, just one correction: At 5:35-> const does not allow to 're-declare' the variable, actually should be const does not allow to 're-assign' the variable, but let do.
While I prefer Kyle's tutorials over the others for various reasons (extent > clarity > simplicity), for this one I'll differ from the praise-storm below - this was just one of the many confusing explanation of the var|let|const topic that I've seen so far. This is the problem that many skilled developers have - they assume that as developers they have analytical thinking and provide well structured explanations (naturally, by default) - but I have seen - since the university times to professional days - that the paradoxical situation happens: techies often do the exact opposite: they do not adhere to the structure/hierarchy of the topic, nor the consistent use of terms they set in the beginning. :D Something to work on throughout professional life. In first part, you repeatedly state that var does and let does not allow to redeclare the variable, then you say the difference between let and const is that const does not allow to redeclare the variable. That paused my brain, while explanations went on. Maybe stating more clearly what is the difference between (your use of) "redeclare" and "redefine" and "reset" and "reassign" ... would help. Particularly in this one topic. :) I'd welcome more "technical" "analytical" (or tabular ;) ) than the "narrative" approach here. And particularly a consistent use of terms. 1 minute: redeclare: var|let|const myThingy = 10 var|let|const myThingy = 20 redefine/reassign/reset variable value: var|let|const myThingy = 10 myThingy=20 redefine object|array items value (not object|array value, which is just its memory address, so that remains "constant"): var|let|const myObject = [10, 11]; myObject[0] = 20 1 minute: | redeclare| reassign value of variable | reassign value of item in the array or property in the object| ------------------------------------------------------------------------------------------------------------------------------------------------------------ var yes yes yes let no yes yes const no no yes Also, from the many lessons on the scope, I understood that "scope" is something defining on what level of nesting we are (regardless if it is a function or block or just anything between {}). This perspective was often emphasized. Here, for the first time, I hear that different scope is actually defined by either function or block. Good point here!
dude yes! I was wondering how the heck are there so many people praising the explanation when i couldnt understand why he said let cant redefine a variable then goes on and says thats the only difference between const and let?? lmao wtf
wait up! const also allows to assign value outside of block - as many times you would need to assign such value that cannot be changed by hackers - for instance a waiting time to acept a trip request must be 1 minute only - so if a hacker wishes to change that to 60 minutes - const will not let that to happen - const is great to use in many solid inflexible math routines - that can happen all over the code - so if you set the earth radius to its value as per books - then using const will assure it wont be changed by any accidents or bugs in code -
I used to see people saying that you should use const only if you have a specific need for a variable to remain constant. Nowadays it seems like people always want to use const as a default and I don't like that as much.
I love your approach so much. Thank you. I do have a fundamental problem though. Maybe you can consider making video of it. It is this: When I create an external JS file, and I have in it, codes like functions, etc in it, only the first code or function works! What should I do to ensure that different codes intended to fire at different Listeners, in the same file, work?
For those who get an error "SyntaxError: Identifier 'letVariable' has already been declared" Look for another video "var, let and const for beginners (ES6)"
If you had to make a dynamic clickable 2d grid , what would your approach be? Nothing code specific but what approach with either javascript / html or jquery would net you a result? I've tried making a table of tr and td with onclick=function but that's just messy imo.
I would use css grid to define the grid and then give all the grid items a class where I use addEventHandler to add an event to all those grid items for click. Here is a video tutorial I did for grid. ua-cam.com/video/9zBsdzdE4sM/v-deo.html
You have a super rare skill. It's rare to find someone who is both a skilled programmer AND a skilled teacher / communicator. Thank you for your videos
and Zach Efron level of handsome
Totally agree!
I second this!
OMG!! I had seen 100000 videos whose explanations were extremely complicated, but you explained it in less than 5 minutes!! Thank you very much
And understandable
Mate, I must say, your hair is on fleek!
Thank you for the clear explanation! Currently, I'm learning HTML, CSS & Javascript and if I don't understand something, I'm firstly looking at your channel to find an explanation. If it doesn't exist on your channel, then I'm searching in other sources. You are a very good teacher, your videos are short, consistent and very clear, without any unnecessary content. Thank you very much for sharing your time to make these videos.
This was great, you speak at just the right speed and your voice is clear. This really helped me and my husband with something in our bootcamp.
Another super-clear explanation. Love your video style, brevity, and way of explaining everything. Plain and simple!
This video came just in time. We are going through Javascript and JQuery right now in my bootcamp!
I'm really glad to hear. If you run into anything that confuses you in the bootcamp feel free to let me know, and I can try to help or make a video on the topic.
@@WebDevSimplified Awesome will do!
6:36 I didn't know that. This is why I always watch your videos, even if I think I understand the subject before hand. Great work! 👍
It is a bit counter intuitive based on the name. You can use Object.freeze to create an object that cannot have the properties reassigned, but it will still let you reassign a nested property such as company.ceo.name = 'New name'
@@WebDevSimplified thanks for the tip! As I was watching the part I referenced earlier, I was wondering how we would assign constants to the properties of an object, so it's like you read my mind. :D
I never knew var worked like this, and I've been using Javascript almost daily for over 2 years. I always assumed it worked like let because I have a background in other programming languages and assumed it's scoping worked the same. So wild! Thanks for the clarification!
Whenever Kyle comes out with the JavaScript class that he is working on.... I am purchasing it. He is awesome! Thank you Kyle!
Thank you for the support! I start recordikg tomorrow!
This is the best explanation I've ever seen. I do know the differences yet I learnt something new
Thanks a billion, Kyle for explaining the difference among these keywords.
You forgot to say one more thing: when you declare a variable with var keyowrd, this automatically creates a property inside the Window ojbject.. so, if you say for example: var x = 1; and after that you say: console.log(window)... you will see that in the window object you will find the property X with the value of 1. Instead, if you declare a variable with let or const, this won't ceate a property inside the Window object. I guess this was also very important to mention!
It was very crystal clear explanation thank you.
Web dev here in the PH. "Man I love your videos, your making a great impact" //awesome
I am just starting with JS and I was stuck with this like hell. You made it so clear. Thanks a lot!!
Would like to say, well done and thank you for a clear and concise explanation of the similarities, differences and when to use, Var, Const and Let.
Watched other videos and without doubt, you nail it better here with both explanation and example.
Will be watching more of your stuff as this was a great measure stick for the quality of teaching.
Keep up the great work.
Whenever I see that face, I know useful information is coming my way.
Simple, clear, and very helpful. Thank you as always!
learn so much important points and the actual difference ....thanks a lot
This is complete explanation of let vs const vs var I have ever seen. Thanks Kyle 😊
தெளிவான விழக்கம் நன்றி 🙏🏽
That's so motivating. Because nobody understood that!
Great great explanation.. you always here that the differences is the 'block scope' and then wonder, well, like within an if or for loop, but nobody else ever says that...
Checked 10s of video and this video told me hmm you understand this now . say thanks to him :) Thanks Dude
Yes I did learn something thank you very much man it was hard for me to understand this but you explained it in like less than 10 minutes lol you have a good day too :)
So simple, thank you so much! If I search for something and see your face in the results, I am saved. :)
You are the best teacher on UA-cam.
Thank you very much Kyle, This is great. Very explicit. I think I would begin using the 'const' instead of the 'var'
Thanks ✌️
1)Declaration Let variable in a {} block scope can't be access outside of it
2)let name = value1, let name = value2, can't redeclare let twice
Instead of this should be written name=value2;
3)let can be change it’s value const can't as it is constant but it can change its object value.🙃
yeah, I was a little confused aswell but this video was made in 2018
You forgot to say one more thing: when you declare a variable with var keyowrd, this automatically creates a property inside the Window ojbject.. so, if you say for example: var x = 1; and after that you say: console.log(window)... you will see that in the window object you will find the property X with the value of 1. Instead, if you declare a variable with let or const, this won't ceate a property inside the Window object. I guess this was also very important to mention!
man you are teaching the things that are not widely discussed which is why i am going to subscribe. You have a true gift of teaching in simple terms. i enjoy your channel, especially the tutorial on promises
Thank you! I try to cover the topics that I know confused me or other people I know, because those will be the most helpful for others.
Amazing explanation. Simple and straight to the point. Thank you!
Hey thanks. earlier i had confusion about block scope and Function scope. Now its cleared.
You were born to teach! Awesome!
Really good explanation, for beginner level - if reading info only in text (with no visual examples), it gets confusing quickly on this topic. Cheers😉
Good old Java script, Let (no pun intended) us introduce "const" that does not allow for re-assigning to avoid human error so that it is "constant" except when it's not...
The good old days when we didn't have chatgpt.❤️
lol true, but I like seeing a human explain it sometimes. Even though I can get quick answers from Professor GPT, I've made it a habit to watch one short intructional video like this everyday.
I came from C#. It's pretty simple there. Use var for what you wanna change, const for what you don't wanna change; variable and constant. Simple language for simple people.
finally I understand the difference, thanks man A LOT
Thank you! This video was very helpful. Just what I needed.
Been building sites for 30 years and always avoided JS due to pre jquery experience. Am now taking the time to relearn JS and node while I’m at it and I have to say I’m regretting not doing this sooner. I’ve been programming in C# php Perl VB and JS is a peace of cake by comparison .
Best Web Development I seen evrr
This was SO helpful. Thank you so much!
huge thanks for the explanation, only you made it clear to me!
I was wondering just that! Thanks so much
Thnks for the detailed vid, just one correction: At 5:35-> const does not allow to 're-declare' the variable, actually should be const does not allow to 're-assign' the variable, but let do.
Great video. Succinct, clear to understand, and I learned a lot. Thank you.
This is truly simplified
thank you :D you shared more differences than my constructor in my Full-Stack Bootcamp! Will subscribe and watch all other videos of yours
Very clear explanation. Thank you for that.
I can't move on until i know why something works unless i ABSOLUTELY have to. thanks to you i can move toward the light. goodbye everyone...
Thank's bro that was a really clear explanation.
While I prefer Kyle's tutorials over the others for various reasons (extent > clarity > simplicity), for this one I'll differ from the praise-storm below - this was just one of the many confusing explanation of the var|let|const topic that I've seen so far.
This is the problem that many skilled developers have - they assume that as developers they have analytical thinking and provide well structured explanations (naturally, by default) - but I have seen - since the university times to professional days - that the paradoxical situation happens: techies often do the exact opposite: they do not adhere to the structure/hierarchy of the topic, nor the consistent use of terms they set in the beginning. :D Something to work on throughout professional life.
In first part, you repeatedly state that var does and let does not allow to redeclare the variable, then you say the difference between let and const is that const does not allow to redeclare the variable. That paused my brain, while explanations went on. Maybe stating more clearly what is the difference between (your use of) "redeclare" and "redefine" and "reset" and "reassign" ... would help. Particularly in this one topic. :)
I'd welcome more "technical" "analytical" (or tabular ;) ) than the "narrative" approach here. And particularly a consistent use of terms.
1 minute:
redeclare:
var|let|const myThingy = 10
var|let|const myThingy = 20
redefine/reassign/reset variable value:
var|let|const myThingy = 10
myThingy=20
redefine object|array items value (not object|array value, which is just its memory address, so that remains "constant"):
var|let|const myObject = [10, 11];
myObject[0] = 20
1 minute:
| redeclare| reassign value of variable | reassign value of item in the array or property in the object|
------------------------------------------------------------------------------------------------------------------------------------------------------------
var yes yes yes
let no yes yes
const no no yes
Also, from the many lessons on the scope, I understood that "scope" is something defining on what level of nesting we are (regardless if it is a function or block or just anything between {}). This perspective was often emphasized. Here, for the first time, I hear that different scope is actually defined by either function or block. Good point here!
dude yes! I was wondering how the heck are there so many people praising the explanation when i couldnt understand why he said let cant redefine a variable then goes on and says thats the only difference between const and let?? lmao wtf
someone get this absolute master a stellar coding setup i.e a better keyboard
Super clear explanation, many thanks
You made it so clear. Thanks a lot
Clear and concise, Thank you
wait up! const also allows to assign value outside of block - as many times you would need to assign such value that cannot be changed by hackers - for instance a waiting time to acept a trip request must be 1 minute only - so if a hacker wishes to change that to 60 minutes - const will not let that to happen - const is great to use in many solid inflexible math routines - that can happen all over the code - so if you set the earth radius to its value as per books - then using const will assure it wont be changed by any accidents or bugs in code -
thankyou for all the amazing explaining!
Best video on this topic
you are a rare gem my friend!!!
Your videos are helping me out alot! Thank you ❤
im declaring every variable as const and then change it to let if i have to reassign them. this makes the code much safer. i don’t use var anymore
Thanks a lot. You explain things really well.
thank you your explanation was very clear
A nice topic can be this :
function justA(){
a = 1;
}
justA();
console.log(a); // 1
Thank you for the explanation. Well explained. !
Great lesson!
Thank you, perfect explain.
I used to see people saying that you should use const only if you have a specific need for a variable to remain constant. Nowadays it seems like people always want to use const as a default and I don't like that as much.
Quite easy to understand. Thanks
I love your approach so much. Thank you.
I do have a fundamental problem though. Maybe you can consider making video of it. It is this:
When I create an external JS file, and I have in it, codes like functions, etc in it, only the first code or function works!
What should I do to ensure that different codes intended to fire at different Listeners, in the same file, work?
Thanks for clarifying.
I need a video that of explaining who these Bob and Sally are, you're using them everywhere :3
Im curious af for real
Hey man, can you please make a video on Observables, and what is the difference between it and Promises.
Thanks.
Observables are a very specific concept with RxJS which I do not plan to cover since it will only be applicable to a narrow group of people.
Thank you bro, really helpful :)
very clear explanation! you are awesome!
Problem solved
Thank you very much. Ur a good explainer....
so so simple. Finally.
Great tutorial, thanks!
loved it! Thanks.. Const, Let, Var .. it is :)
Awesome tutorials! Thank you!
Wonderful explanation.. Than you....
Thanks God we have you to explain this!! thanks!! A lot! A mean that)
That was awesome. Thank you
You the real MVP
great explanation. TY!
For those who get an error "SyntaxError: Identifier 'letVariable' has already been declared"
Look for another video "var, let and const for beginners (ES6)"
Could you also explain if we declare a variable without var, let and const? Could you also make video on 'this' keyword.
thanks for this now i know what to do 👍👍👍👍
I get it..so let and const are your "idiotproof" code while var is...var kinda like the cooler cousin that your parents tell you to stay away from.
Awesome explanation !
You make a wonderful work 👍👍👍👍👍 thanks
Thank you so much bro.
you r jordi of webdev !!!!!!!
Helpful. Thank you.
Great! Suggested topic while you're at it: Semicolons in JS - use or omit?
If you had to make a dynamic clickable 2d grid , what would your approach be? Nothing code specific but what approach with either javascript / html or jquery would net you a result? I've tried making a table of tr and td with onclick=function but that's just messy imo.
I would use css grid to define the grid and then give all the grid items a class where I use addEventHandler to add an event to all those grid items for click. Here is a video tutorial I did for grid.
ua-cam.com/video/9zBsdzdE4sM/v-deo.html
@@WebDevSimplified I'm gonna make this work for me, thank you so much you're a saint.
well explained, thanks!
awesome explanation
Great video !!!
Love it
can you please cover topic related to redis cache along with aws
Great work! 👍