JavaScript Tutorial for Beginners Master the Fundamentals of JavaScript in 6 Hours: Subscribe for more videos: …



  1. amazing tutorial, I like your teaching. I have subscribed to your courses in udemy. Could you please upload this one in udemy too. And we need a complete course in building a real time project in node+angular.

  2. I really gotta say, Youre teaching style is amazing and I love your upbeat attitude. I think Ill look into your code school after I finish up a course I am currently working on.

  3. Some possible corrections, clarifications, recommendations, and nitpicking:

    3:39 — Of course, the dev tools can be opened in other browsers as well. The F12 key should work as a general shortcut for most of them. See

    8:28 — A modern alternative to placing scripts in the <body> to improve page load speed are the “defer” and “async” attributes. These can avoid both problems, and the DOM problem (elements being “rendered” on the web page) can be avoided with the “DOMContentLoaded” event. The attributes are better practices than placing scripts at the end of the body section. See and

    20:00 — There’s a list of characters a variable name may or may not contain. The obvious ones that variables can’t contain are operators. A hyphen is only one of them. And they may contain most characters that are regarded as alphabetic or numeric (though, numeric not at the beginning). So they may contain “価”, but they cannot start with “४”, though they may contain it. They may also contain “$” and “_”.

    20:52 — Variable names like “FirstName”, starting with a capital letter, usually denote constructor functions.

    24:19 — You also mention Symbols at 26:39, but a future specification may also include BigInts. See

    27:54 — Be very careful with the variable name “name”. In the global scope, it may refer to “” which is always converted to a string when set, since it represents the window’s name. There are also a few other variable names that are to be avoided in the global scope. See

    28:50 — BigInt would be a second number type. Also TypedArrays exist which can contain other number ranges. And numbers may be optimized to integers by the JS engine internally, which is often explicitly denoted by the “|0” “type annotation” in asm.js.

    29:59 — “typeof null” being “"object"” is actually a long-standing bug in ECMAScript. See

    30:19 — Arrays aren’t really types. As clarified in 38:15, they are also just objects. Technically functions are also objects with the special property of being callable. Arrays have the property of being iterable (as do many other things in JS, such as strings, sets, maps or arguments — they are differentiated by having a “Symbol.iterator” property somewhere along their prototype chain). However, “typeof” only differentiates objects and functions. Any non-primitive value that isn’t a function will yield “"object"”. The only exception to both iterables and objects is “document.all” whose “typeof” value yields “undefined”, despite being an iterable object. It is the only “falsy” object. See


Please enter your comment!
Please enter your name here