Friday, September 11, 2015

If I only knew Javascript...

If I only knew JavaScript what a wonderful world it would be.

Created by Daniele Rossi

Now do not get me wrong I have written tens of thousands of lines of JavaScript code in my career but do I really know  Javascript? No. Have I ever been taught how to do JavaScript ? No, like the comic indicates like most people I learned from finding snippets that solved a need I had and modified it.  Do I think it would be incredibly valuable to be good at core Javascript? Heck Yeah!

We have seen processing move from mainframes with client terminals, to fat clients, to thin clients with the bulk of the work happening on servers, and now things are moving back to the clients.  JavaScript framework flavor of the months a dime a dozen but a lot of exciting development is going on in the JavaScript world.  Making a career focusing on JavaScript is becoming more common.

JavaScript was originally created in just 10 days.  Brendan Eich while working at Netscape was told to go create a language to do things in the browser. Obviously 10 days isn't much time so some of the syntax was borrowed from Java and several other places and originally called Mocha.  Then it was called LiveScript, then ECMAScript when it was standardized, but it eventually became called JavaScript mostly as a marketing ploy. JavaScript and Java share almost nothing in common besides a name.  However this little language hacked together in just over a week has become one of the most popular and wide reaching languages in the world. With Node.js it has even moved off of the browser and has started running server side applications for itself. 

JavaScript has a spec! BOOKMARK IT ASAP  It was just updated in June so it constantly evolving to fit our development needs.

There are many quirks in JavaScript so while it is an pretty easy language to get started in it is difficult to master. Coercion for example is something I have often struggled with and the JavaScript concept of 'falsey'.  Fundamentally coercion is like Java autoboxing when variables of different types are often not so gently coerced into an type the is equivalent enough to be compared.  It is this type flexibility that is at the same time both an asset of JavaScript's and a point of mystifying behavior.

Examples of Coercion madness:

(true == 1) => true
(true === 1) => false


if ('true') {
    'true' == true  // returns false
    'true' == false // returns false

Popular JavaScript frameworks:

Learning resources:
Code School - Fun quick online classes without a lot of depth but a great overview
You don't know JS books - Free high quality books by Kyle Simpson

Links to JavaScript posts:


  1. Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me..
    I am a regular follower of your blog. Really very informative post you shared here.
    Kindly keep blogging. If anyone wants to become a Front end developer learn from Javascript Training in Chennai .
    or Javascript Training in Chennai.
    Nowadays JavaScript has tons of job opportunities on various vertical industry. ES6 Training in Chennai

  2. Great one.Nice tutorial.Keep it up.Thank you for sharing.Its very helpful for newbies.You explained everything very briefly and clearly.I like it.If any one needs any software solutions,please have a look on js development company.