This is a nice introduction and refresher for modern JavaScript; I actually thought undefined?.property was not a native JavaScript operation, but it turns out I just never used it before moving to TypeScript. One note about named anonymous functions: they do have completely pragmatic uses due to their more sensible implementation of the `this` keyword, similar to how `let` and `const` are more sensible implementations of `var`.
@@IsaacHarrisHolt In an arrow notation function, `this` is staticly assigned during definition. You can test this by moving the definition to a different scope. Traditional functions - which can also be anonymous, hence my usage of "arrow notation", breaking from the nomenclature of your video - dynamically assign a value to `this` based on how the function is called. In most cases, this will be the object calling the function, but it can also be the element to which it is attached or the corresponding instance when used as a method (which may still be "the object calling the function" under the hood; I'm not sure how that's implemented). Both have their uses, but you will run into seemingly impossible bugs if you don't know it's more than just a shortened syntax. While I think it goes beyond the scope of an overview such as this, JavaScript as a language may seem nonsensical without historical context - new versions are not allowed to break compatibility with older websites, which is how you get triple vs double equals, template literals, var vs let (to do away with hoisting), and eventually type hints in comments.
thx i needed a recap of javascript after taking a year break from work, this vid came in clutch
Awesome! Best of luck with your return to the job :)
as someone who hates js, this video made me understand js better than any video out there. ❤
Thank you! And yeah, I recommend TS if you need either
This is a nice introduction and refresher for modern JavaScript; I actually thought undefined?.property was not a native JavaScript operation, but it turns out I just never used it before moving to TypeScript. One note about named anonymous functions: they do have completely pragmatic uses due to their more sensible implementation of the `this` keyword, similar to how `let` and `const` are more sensible implementations of `var`.
Interesting! Could you explain the difference in the `this` keyword implementation? Ideally with an example
@@IsaacHarrisHolt In an arrow notation function, `this` is staticly assigned during definition. You can test this by moving the definition to a different scope.
Traditional functions - which can also be anonymous, hence my usage of "arrow notation", breaking from the nomenclature of your video - dynamically assign a value to `this` based on how the function is called. In most cases, this will be the object calling the function, but it can also be the element to which it is attached or the corresponding instance when used as a method (which may still be "the object calling the function" under the hood; I'm not sure how that's implemented).
Both have their uses, but you will run into seemingly impossible bugs if you don't know it's more than just a shortened syntax.
While I think it goes beyond the scope of an overview such as this, JavaScript as a language may seem nonsensical without historical context - new versions are not allowed to break compatibility with older websites, which is how you get triple vs double equals, template literals, var vs let (to do away with hoisting), and eventually type hints in comments.
Interesting, that's good to know. Thanks!
These videos are so good, please never stop!
I hope you found it helpful!
Subscribed. Great stuff, looking to see more
Thanks! Let me know what you'd like to see next :)
i was 7 hours into a 12 hour JS video before this was uploaded, crazy
And was it as good 👀
@@IsaacHarrisHolt so far yeah, just 2x on stuff that's familiar
should also mention tc39 and ecmascript's evolution each year to add some new stuffs...
Good point! It can get a bit much, sometimes 😅
It's irony that JS is getting similar to Java and vise versa.
Yeah it's definitely interesting. Hopefully it'll get the good bits of Java and not the bad ones
nvm is trash, n is way better
Not heard of it! Can you tell me why it's better?