Javascript Essentials (Revised)

  Рет қаралды 69,024

Travis Tidwell

Travis Tidwell

Күн бұрын

Пікірлер: 89
@runnerup15
@runnerup15 9 жыл бұрын
*Bookmarks:* *Syntax* - 5:45 _Notes:_ JavaScript infers type at run time (a string '42' - 2 equals 40 but a string '42' + 2 = '422' because concatenation takes priority over changing the object type) typeof can show primitive type at run time (useful for debugging)' use instance of for instance use typeof for primitive - 13:00 primitives are objects as well as everything else - 13:40 *Patterns* - 14:25 _Notes:_ There are two links to follow to read up on patters, these links lead to rather large reference, make sure to have a lot of time set aside to read these and be ready to really put a lot of effort into actually understanding what these sites are trying to teach Creating objects - 15:22 Something that looks like it shouldn't work, does not work in the exact way it seems it shouldn't work. - 16:25 and @ 18:10 - the way you would normally do it in any other language is the way you should be doing it *Objects* - 18:40 _Notes:_ An object is an unordered collection of key-value pairs var object { key: value; }; Dot notation - 20:50 works just like it does in java or c or csharp or cpp etc. in key-value pair, value can be another object (objectception) - 22:10 *Functions* - 23:40 _Notes:_ global variables should only be used when necessary. Really though, its never necessary (duh) - 28:30 setTimeout is asynchronous and obvious things happen because of this fact - 33:50 34:50 - what? oh I get it, you have two instances of setTimeout running and the first one has a variable of messages[0] and the second instance of setTimeout has the variable messages[1] and they are both still asynchronous but they have their own vars now... you explained that kinda weird... Closure - 36:32 : I don't fully understand whats going on here but then again I don't really know much about design patterns in the first place google more about module pattern *The this keyword* - 44:45 _Notes:_ ok so not only can you pass an object type as a param on instantiation (I guess because everything is similiar to java generics and they didn't want to have to use all that stuff.. but wait; does the object type have to be the first param passed? why is it done this way at all? this just seems weird...) but you can also pass property names as.. strings...? I think I need to watch a few introductory videos on this language @ 59:00 YOU CAN HAVE FUNCTIONS WITHOUT SPECIFYING PARAMETERS??!?! BUT WHY?!?!? *Understanding Prototype* - 1:00:00 _Notes:_ Prototypes are weird but possibly necessary (?) because of reasons I actually don't think I understood any of this. I'll have to come back to it later >> Personal summary and final thoughts on the video
@CAPS_AMERICA
@CAPS_AMERICA 3 жыл бұрын
The prototype is what I'm trying to understand. I guess it's just another way of preventing the same method to be created on each instance of the object so it's needs to be defined in the prototype, my understanding.
@thebroscientist8494
@thebroscientist8494 9 жыл бұрын
Travis, I'm addicted to your videos! Thanks so much for convincing me to learn JavaScript at a high level. (currently a Java web dev) The 51 minute mark, explaining the *this* pointer in regards to setTimeout...brilliant!
@MdFive100
@MdFive100 8 жыл бұрын
I needed just 15 random seconds of this video to subscribe you. When i saw how you explain a simple function i knew that the whole video its awesome ! Best tutorial so far and really good explanations. I hope you're doing more videos. Keep up the good work.
@SongMachina
@SongMachina 8 жыл бұрын
This is an excellent video. It hits so many important points concisely and with good pacing. Thank you Travis
@shuaima5989
@shuaima5989 9 жыл бұрын
Wonderful presentation! Saves me a lot of time,,,, I wonder why only a few thousand people watch this:(
@derekfrost8991
@derekfrost8991 3 жыл бұрын
Very nice tutorial, one of the best I've seen. It's unusual to find a high level of competence with a nice readable font. You even use the radix with parseInt which most people forget.. ☺️👍
@ChristianJosephs
@ChristianJosephs 9 жыл бұрын
Hey Travis, coming from Wordpress I made my way the last 2 months to Javascript. My Goal is to become Full-Stack in the next 2 years. To become great it takes time and practise I believe. I have to give you a big shoutout your videos are great. When you say some gurus teach you theoretical stuff you are right. I watched around 50 hours of Tutorials in the last 2 months and I have to say your videos with the videos from LearnCode.academy are the best out there at the moment. (I also paid for Code School and this stuff.. they are good for the basics but not more). It would be great if you find time to make more videos like this, also your MEAN Vid was awesome and it took me 4 tutorials (in the end your tutorial was the key) to understand the MEAN Stack in the right way and the connections between the technologies. Speaking as a newbie , give me more! :D Cheers from Bangkok!
@travist349
@travist349 9 жыл бұрын
Christian Josephs Thanks for the great feedback Christian. I am happy to offer these to my fellow developers.
@davidb8831
@davidb8831 9 жыл бұрын
+Travis Tidwell It is really helpful though, programming is by no means easy. Cheers to explaining things fully and concisely.
@ThePandaGuitar
@ThePandaGuitar 8 жыл бұрын
This video is gold. Thank you Travis!
@gnawlej9163
@gnawlej9163 9 жыл бұрын
This is an awesome summary of tricky mechanics in JS. Thanks for saving me many future headaches!
@toomuchtruth
@toomuchtruth 8 жыл бұрын
Thank you so much for this! So clear and concise, exactly what I was looking for. Really well thought out and intelligent examples throughout. The last 10 minutes started to get a bit challenging as the concepts started to stack up so had to listen over a few times. Not much better use of an hour than this!
@RuiSantosdotme
@RuiSantosdotme 9 жыл бұрын
Great presentation. Thanks for taking the time to record this new version!
@6443328
@6443328 8 жыл бұрын
Hi Travis, I'm watching your great video and noticed a point (33:18) which i think was not clear enough. You're talking about scopes but another very important thing here is the execution scheduling: The setTimeout, moves the callback function into the event queue which is executed ONLY when the current execution stack is over (even if you use 0ms as the delay parameter). This means the anonymous function is executed AFTER the for loop has finished its all iterations, and THEN the scope issue arises to explain how the anonymous function is aware to the loop index when it runs. Thanks for your video!
@bishopoftroy
@bishopoftroy 9 жыл бұрын
Very efficient explanation, concise, spot on. I really understood and i would like a complete javascript class...like 12 hours or something like that..i would be happy to pay for it :) keep the good work coming !
@BowlineDandy
@BowlineDandy 9 жыл бұрын
Thank you so much for these tutorials!! I studied a bit of object oriented js on treehouse but I didn't get it that well. The explanation was flawless. Really a lot of golden nuggets in here as you would say. Cheers from Mexico :)
@jsnode2075
@jsnode2075 8 жыл бұрын
Your video is like a premium tutorials, thank you..
@digitalx788
@digitalx788 8 жыл бұрын
I thought I knew a fair amount of js and 12 minutes in learnt something new. Thanks for the tutorial
@rajkumarpalani4134
@rajkumarpalani4134 8 жыл бұрын
Excellent! I was unaware of prototype in Javascript. Thanks Travis!
@emmanuel4699
@emmanuel4699 8 жыл бұрын
Great value, sir. Well done.
@hdmi00
@hdmi00 8 жыл бұрын
Quick question, at 51:11 , if we set the setTimout method to this : setTimeout(person.getinfo() , 1000); why does adding the parenthesis to "getinfo" makes it work?
@travist349
@travist349 8 жыл бұрын
Because when you don't use parentheses, you are not invoking the method, but rather passing the method to setTimeout to be executed later. Because of this, the method is not getting invoked on the person object, but rather as an independent function within setTimeout. This causes the this pointer to not be pointing to the person object when it is invoked.
@hdmi00
@hdmi00 8 жыл бұрын
Thank you ! What's the best way to really understand these weird parts of Javascripts?
@sergheisergheich6017
@sergheisergheich6017 9 жыл бұрын
Hi man, tutorial is great. i would like to see much more videos dedicated to javascript and i am sure much people would like it.
@Sathyaish
@Sathyaish 8 жыл бұрын
Thank you. I enjoyed the course. I am curious as to what IDE you are using?
@victorantunes1049
@victorantunes1049 9 жыл бұрын
Hello Travis, fantanstic work, thanks a lot! One question:@37:40 you say that a closure is basically a function which returns another function. I've tried removing the 'return function' part and the output is the same. Under the hood, is there any difference? Is this still considered a closure? Are there any use cases where the output would be different? P.S.: your videos are fantastic. Keep it up :D
@travist349
@travist349 9 жыл бұрын
Victor Antunes The output may be the same, but the difference is that your version is probably executing the console.log immediately vs. executing it after 1 second, am I right? If so, then to answer your question, the technical definition of a closure does include the callback function, but you can still achieve the same result without the callback by capturing the scope of the variable being passed into the function.
@victorantunes1049
@victorantunes1049 9 жыл бұрын
Travis Tidwell Ah, yes. The return makes it so that the portion inside the anonymous function is not called immediately when the enclosing function is called, but only when deemed necessary, correct? I think I understand now. Thanks.
@cellularmitosis2
@cellularmitosis2 8 жыл бұрын
Unfortunate that there's a repeating super high frequency "ding" sound.
@bencole12345
@bencole12345 9 жыл бұрын
Really informative video, thank you Travis!
@stevenlane6963
@stevenlane6963 6 жыл бұрын
Very informative video 'keep them coming'.
@richardtian4847
@richardtian4847 8 жыл бұрын
Could you tell me how to make the presentation material like this? I've been using PPT, but this...wow!
@saikiran-xo5we
@saikiran-xo5we 7 жыл бұрын
Hi Travis, what is the IDE you being used ?
@drummerpram
@drummerpram 9 жыл бұрын
you explain things very well... thank you!
@mattnilsen1199
@mattnilsen1199 8 жыл бұрын
Hi Travis , I am new to JavaScript but understand some basic atm, But can i ask after printing out on the console the following console.log(parseInt(theMeaningOfLife, 10) + 2); what is the 10 for inside the bracket for ??
@kwayssa
@kwayssa 8 жыл бұрын
means base-10 number, decimal number system
@TechMedia-it
@TechMedia-it 8 жыл бұрын
Hi Travis on 50:50 the code actually 'sayName' var person ={ firstName: 'Izuchukwu', lastName: 'Anthony', sayName: function() { console.log(this.firstName + ' ' + this.lastName); } }; //person.sayName(); setTimeout(person.sayName(),2000); I guess you called a ver with "setTimeout(person.sayName.1000); instead of a function sayName()
@tonyzhu6957
@tonyzhu6957 8 жыл бұрын
Hello Travis, When you talked about the "this" in scope and context, I changed "person.sayName" to "person.sayName()" in the setTimeout. it worked in Chrome browser. Is this implicit in using the bind like the example in your video? var person = { firstName: 'Test', lastName: 'Test', sayName: function() { console.log(this.firstName + ' ' + this.lastName); } }; setTimeout(person.sayName(), 1000);
@travist349
@travist349 8 жыл бұрын
That works because you call it immediately and pass the return of "person.sayName()" to setTimeout (which doesn't do anything). I am sure you see the name show up immediately and not take 1 second to show when you did that as well, right?
@tonyzhu6957
@tonyzhu6957 8 жыл бұрын
Yes. Thank you for the clarification.
@lipaksahu2404
@lipaksahu2404 8 жыл бұрын
Yes @Travis. I had doubt on that too. Thanks for the clarification. Nice video.
@kap4020
@kap4020 8 жыл бұрын
very nice explanation of 'this'
@jdr2.paradigmabiblico128
@jdr2.paradigmabiblico128 7 жыл бұрын
Mr Tidwell, may I ask which eidtor are you using? I an new to JS
@k.7126
@k.7126 8 жыл бұрын
Excellent tutorial. Thank you.
@MauFerrusca
@MauFerrusca 6 жыл бұрын
Hey, Travis. Thanks for this video. Could you clarify for me why setTimeout(person.sayName(), 2000); does work but setTimeout(person.sayName, 2000); does not?
@prateekbajpayee
@prateekbajpayee 9 жыл бұрын
At kzbin.info/www/bejne/fpPKg3l-bqd0r5Im32s what is the difference between person.sayName and person.sayName() because using with () gives the output correctly when used inside setTimeout..
@MauFerrusca
@MauFerrusca 6 жыл бұрын
I have the same question.
@plebeiu
@plebeiu 9 жыл бұрын
Travis.. this form.io service look amazing! kudos on that one.
@travist349
@travist349 9 жыл бұрын
Jaime Lee Thank you! Feel free to request for a Beta key to try it out!
@plebeiu
@plebeiu 9 жыл бұрын
I'm already in
@nameinaframeindy
@nameinaframeindy 8 жыл бұрын
Hi. I'm pretty new to coding but I have a question for an experienced coder. Is it a bad idea to try to learn from videos from 2015? How much does a language change from year to year?
@mkc05
@mkc05 8 жыл бұрын
Please help, Yes, if you can help how to set JAVA environment on notepad++ Or, maybe any other editor...? Thanx in advance...
@asarrees
@asarrees 8 жыл бұрын
+Kelly Co If you wish to use Java, you should try out Intellij or NetBeans or Eclipse.
@akidfromtheblock
@akidfromtheblock 8 жыл бұрын
Java and JavaScript are not to be misconceived. Both are completely different languages. If you are looking for a good IDE for Java, refer to the comment above, if you are looking for a good JavaScript environment, I would recommend Webstorm (Jetbrains). However if you're on a budget, brackets/sublime text will also get the job done. Happy programming :)
@keckelt
@keckelt 9 жыл бұрын
Hey Travis, which IDE did you use in the Video?
@toalopez
@toalopez 8 жыл бұрын
it is call WebStorm from Jet Brains
@goldilockszone4389
@goldilockszone4389 8 жыл бұрын
Hello Good people - I am learning to build apps (both mobile/Web) which I will then sell on app stores. I want to build a company in the future to do so. I have already invested in Treehouse and learned basics of python, swift, Javascript, SQL and HTML>CSS. Now I want to dig deeper - in an area where I start connecting the dots. Build a page connect it to a server, record data in a database. I want to DIY in the app world in short. What should I LEARN ???
@travist349
@travist349 8 жыл бұрын
Flip Tube I would check out form.io. It can serve as the platform to your app.
@goldilockszone4389
@goldilockszone4389 8 жыл бұрын
thanks
@goldilockszone4389
@goldilockszone4389 8 жыл бұрын
oh you are the CTO of Form.Io :) no wonder
@goldilockszone4389
@goldilockszone4389 8 жыл бұрын
Do i need to know Angular 2 to build apps here ?
@travist349
@travist349 8 жыл бұрын
Flip Tube it works with angular 1 & 2 and React.js
@kerimtim
@kerimtim 8 жыл бұрын
What font are you using Travis?
@hdmi00
@hdmi00 8 жыл бұрын
I believe it's the basic Mac font :" Lucida Grande" though on Windows it's doesn't look as good as that, an alternative I've been using in almost everything is Monaco. Download link : github.com/todylu/monaco.ttf
@travist349
@travist349 8 жыл бұрын
It is the default font provided by WebStorm IDE.
@sakules
@sakules 8 жыл бұрын
None of the 2 links in the video work
@prateekbajpayee
@prateekbajpayee 9 жыл бұрын
What is the IDE used in this tutorial??
@toalopez
@toalopez 8 жыл бұрын
it is call WenStorm from Jet Brains
@Phishstaebchen
@Phishstaebchen 9 жыл бұрын
Pretty helpful. Thanks!
@basalduat
@basalduat 8 жыл бұрын
Slide over to 5:58 to skip his commercial message.
@hikolanikola8775
@hikolanikola8775 6 жыл бұрын
Outdated?
@wealtylife5518
@wealtylife5518 8 жыл бұрын
you are genius!!!
@walkingtraveller3259
@walkingtraveller3259 9 жыл бұрын
awsme man
@nicklaspersson4687
@nicklaspersson4687 8 жыл бұрын
Very good content and well explained. Audio is quit good but if you want to make it perfect you might want to consider your room acoustic. Seems to interfere with the audio quite a bit because there is quite a bit of echo of your voice from the naked walls in the room. I am by no means an acoustic expert but i think your audio can become a bit more pleasant if you would either turn down your mic say 5-10%, perhaps try to put a muffler on the mic or putting some dampening material on your walls. Looking forward to more of your content. Well done. Thank you very much for your efforts.
@calebblaber5615
@calebblaber5615 6 жыл бұрын
This was helpful
@jaysonhahn5881
@jaysonhahn5881 9 жыл бұрын
Does anyone else hear a really high pitched noise during this video?
@sheriffderek
@sheriffderek 8 жыл бұрын
+Jayson Hahn Not me.
@pippi3993
@pippi3993 7 жыл бұрын
LOL Fan of Douglas Adams! The meaning of life = 42.
@jimmythebold589
@jimmythebold589 5 жыл бұрын
it's also the sum of 3 cubes!!!!
@jimmythebold589
@jimmythebold589 5 жыл бұрын
it's also the sum of 3 cubes!!
@jimmythebold589
@jimmythebold589 5 жыл бұрын
test
@amertunes5374
@amertunes5374 9 жыл бұрын
Travis, That is a great tutorial. Thank you so much. I was looking for the source code of your tutorial but i couldn't find it, so I created a tutorial file that has all the examples in your video with slightly different variable names. You can find it on github: github.com/amercode/tutorials/tree/master/JavascriptEssentials Thought people will find it useful. Let me know what you think!
@kazenohito7641
@kazenohito7641 6 жыл бұрын
The meaning of life is 42, I see what you did there....
JavaScript in Half an Hour (Without jQuery!)
31:52
LearnWebCode
Рет қаралды 859 М.
jQuery + Node.js + Phantom.js = Automation Awesomesauce!
30:27
Travis Tidwell
Рет қаралды 84 М.
#behindthescenes @CrissaJackson
0:11
Happy Kelli
Рет қаралды 27 МЛН
Жездуха 41-серия
36:26
Million Show
Рет қаралды 5 МЛН
Dependency Injection, The Best Pattern
13:16
CodeAesthetic
Рет қаралды 906 М.
The Definitive Guide to Object-Oriented JavaScript
27:01
James Shore
Рет қаралды 306 М.
What is Object-oriented Programming? (JavaScript Tutorial)
18:57
LearnWebCode
Рет қаралды 205 М.
I built a REAL Desktop App with both Tauri and Electron
12:22
Bufferhead
Рет қаралды 94 М.
javaScript call apply and bind
15:23
techsith
Рет қаралды 357 М.
5 JavaScript Concepts You HAVE TO KNOW
9:38
James Q Quick
Рет қаралды 1,4 МЛН
JavaScript Course for Beginners - Your First Step to Web Development
48:17
Programming with Mosh
Рет қаралды 13 МЛН
How is this Website so fast!?
13:39
Wes Bos
Рет қаралды 1,3 МЛН
#behindthescenes @CrissaJackson
0:11
Happy Kelli
Рет қаралды 27 МЛН