JavaScript for C# developers

Do you really know javascript?

You’re not a newbie to javascript. You’ve been using javascript or jQuery for quite a long time. You’ve started to use javascript as it was easy to use in the beginning. Statements such as ‘for’, ‘if’, ‘while’ etc.. looked and behaved as they were in C#. Later, you’ve realised that javascript is completely different from C# – function scoping is different, behaviour of ‘this’ keyword is different, object inheritance is different. As a C# developer, this causes a lot of grief. You came to know, except for the c-style syntax, they are completely different languages. You’ve got a lot of things done without really knowing what the heck you are doing..

You know that learning javascript properly would make you more productive. You just don’t think you can do it by yourself. It seems safer to copy-paste the code snippets from StackOverflow for your application.

But what if you knew exactly how function scoping works and how the value of ‘this’ is evaluated? You’ll solve the subtle scope bugs in your javascript application easily when your peers, who don’t understand the concepts, bang their heads against a wall.

You think ‘Object inheritance’ is weird in javascript and you’re afraid that you’re gonna have bad time, if you try to use OO. You also know that you should learn Object.prototype not because you’re going to use it all the time but to understand the mechanism behind the curtain when using frameworks that leverage OO of javascript. With the advent of ES6, class keyword seemed like a relief but it never behaves like a class in C#. When you google, the results are medium posts which are over your head. You also hear that vast majority of javascript developers do not understand prototypical inheritance. So, it seems okay not to sweat over it.

Book Cover

Instead, imagine for a minute, what it would feel if you know the internals of object inheritance and know exactly how prototypal inheritance of javascript works? You know you’ll be able to write re-usable code and understand the code of others with ease.

You feel that the problem with javascript is that it’s too free. There are thousand ways to do the same thing and it’s rarely clear which is better. There are lot of things that javascript lets you do which you shouldn’t probably do. It seems safer to go for the answer with the highest number of votes in StackOverflow. You wish javascript to die or to be replaced by some other language which is not confusing.. But you also know JavaScript is ubiquitous and you cannot avoid it.

It’s important to understand the asynchronous nature of javascript. But you have little understanding on how promises or callback functions work.

Master the underlying fundamentals, and learn how javascript engine executes your code. This empowers you to write bug free code.

You want to learn latest javascript frameworks such as React or Angular to become full stack developer or to add skills to your resume. But without good skills in javascript, you can’t go beyond simple programs in React.

Imagine what if you know javascript well, you would be free to learn any javascript framework, let alone React or Angular. You can learn any new shiny javascript framework in no time, if you’ve solid foundation in javascript.

In this book, you’ll learn the important fundamentals of javascript – function scoping, behaviour of ‘this’ keyword, OO programming in javascript. You’ll also learn the modern ES6+ features of javascript such as Arrow functions, Modules, Classes, Iterators, Generators etc.. Promises, Async Await would also be explained with examples.

All the concepts would be explained in comparison with C# and with diagrammatic illustration so that it would easier for you to grasp.

Table of Contents

chapter 1: introduction

This chapter talks about different terminologies involved in javascript world.

chapter 6: object oriented programming

In this chapter, ‘prototypal inheritance’ of javascript is explained with diagrammatic illustrations.

chapter 2: types

This chapter discusses about different types available in javascript. It also teaches how to declare a variable in javascript.

chapter 7: built-in objects in js

In this chapter, we talk about various built-in objects available in javascript.

chapter 3: functions

In this chapter, characteristics of a javascript function are discussed. 

chapter 8: modern features of js (es6+)

Arrow functions, string interpolation, rest & operators and javascript modules are discussed.

chapter 4: scope

In this chapter, we discuss about  function scope and it differs from the scope in C# with examples. 

chapter 9: closures, iterators & generators

In this chapter, we talk about the concepts of closures, iterators and generators along with implementation.

chapter 5: this

We discuss how the value of ‘this’ keyword is evaluated in javascript in different scenarios.

chapter 10. asynchronous js

Arrow functions, string interpolation, rest & operators and javascript modules are discussed.

Want to read some sample content of the book?

I can send you the sample content (PDF) to the email that you enter in this form. You can get better idea of layout, design and most importantly how the book is written.

Following are the topics that would be covered in the sample ebook

  • Evaluation of ‘this’ keyword
  • Function scope
  • Arrow function of ES6
  • Asynchronous nature of JS

FAQ

Most frequent questions and answers

This ebook is for C# developers who want to learn javascript properly.

All the topics mentioned in ‘Table of Contents’ above were discussed with examples. Diagrammatic illustrations are also provided along with relative behaviour comparison with C#.

This is a good question. In this book, all the concepts of javascript, as a language, are discussed.  This book does not cover anything about HTML, CSS, or any other javascript frameworks such as Angular or React. But knowing javascript well would make learning javascript frameworks such React simpler.

Thanks for asking. The price of the book is $29 USD. When you click “Buy Now!” green button below, you’ll redirected to Gumroad from where you can buy.

I don’t want your money, if you don’t like the book. Just reply to your purchase receipt email (within 3 weeks) and I will issue a refund. 

Please drop an email to mugil@dotnetodyssey.com and I’ll answer them.