Re:introduction of learning Javascript from zero



I wrote a post for my company’s blog last week.
It was related a introduction of learning JavaScript again for who learned it before many years ago and return to the world recently like me.
Because its evolution speed is much higher than ever. So the previous knowledge is abandoned rapidly.

Sorry, Only Japanese language version is there.

So this post is for summarizing the original post.

Let’s get started.

First of all, I mentioned my previous experience for the language JavaScript,
it was years ago sounds like when ASP, I mean it’s Active Server Pages , was not a veteran.

The first impression of the language are …

– Unnoticeable for mistake on Editor due to script language
– Testing by browser was messy and complicated
– Not same behavior each browser so having much condition, also being have to test a lot.
– Trivial mistake went break the work easily.

At I treated server side program, I used to use ASP.NET at previous job , The difference was huge, so I didn’t take it easy or somehow I avoid it.

On the other hand my impression of C# was the below.

– Using IDE as Visual Studio, Intellisense well worked and produced lesser mistake.
– Noticing the code coverage by Unit for the test.
– easy to write by object oriented way

However of course I knew the language has grown by rapid speed.
So a server side engineer like me felt a necessarity of learning what it is.
Of course I already noticed the server side version of JavaScript, Node.js.
So the definition of ‘server side engineer’ has also changed a certain extent.
Now it also has a lot of features as same as modern object oriented and functional language like Scala, Java and C#.
I think they are very similar each other too.

Second, I made a code for a certain game with only JavaScript only.
(Actuallly It was published here my website previouslly.)
It was very hard time. I mentioned at the blog I wouldn’t want to do again.

Here is the game about reversi.

Reversi

The next I tried to rewrite the code, I’m not aware it was ES5, to ES6 using VSCode, announced from Microsoft last year.

Meanwhile VSCode, I mean it’s the VisualStudio code, is very awesome tool for script language’s developer as same as ordinal language developer.
It has the Intellisense feature like VisualStudio and available for the extensions simple command typing ‘ext install xxxx’ after press the F1 key on the editor screen.
It was a not IDE but Editor so light weight. honesty speaking, little bit slower It called a editor…
Also having debugging environment on the editor.

After building the environment, I rewrite the above code to fitting ES6.

I used Babel as transpiler which is awesome idea originally from, I’m not sure, CofFee Script or TypeScript. The translate code to something is very popular way for Scala,Java and C# developer called Server side engineer.
Because all the above object oriented language needs to build to intermediate language like Java Byte code and .NET/CLI.

I tried the below three features to ES6.

– prototype to class

Class is syntax sugar of promise, so its code is simpler than promise ,I didn’t mention any particular things.

– Function to arrow function

Arrow function is No naming method by using lambda , popular Scala,C# and being installed from Java8.

– Calculate Literal to template string
Meaningfully and visually simpler than calculating Literals.