JavaScript In Easy Steps, 6th Ed

Author:  Mike McGrath
Publisher: In Easy Steps
Pages: 192
ISBN: 978-1840788778
Print: 1840788771
Kindle: B0858GDTB1
Audience: Beginners already acquainted with HTML
Rating: 3.5
Reviewer: Ian Elliot

There are so many reasons for learning JavaScript that you need books that cover a range of approaches and levels.This one is short and promises "easy steps".

This is a book that is aimed at the beginner. It is full of colorful text and it is slim and unintimadating. It oozes a desire to be simple and friendly, but it also matters what the book tries to convey and how it does it. When I reviewed the fifth edition my main complaint was that it didn't cover what you might think of as modern JavaScript. This 6th edition goes some way to make up this shortcoming but is it enough?

JavaScript is a difficult programming language for the beginner because of the way that is so intertwined with HTML. In this case you most certainly have to know some HTML and the basic ideas of web technology to get very far. There is no clue as to how to get off the ground with a web page you are immediately thrown into putting JavaScript into pages without any consideration of what editor or IDE to use.You are expected to know a great many things connected with HTML and the web environment in general - a book this short couldn't be expected to deal with the full range of JavaScript use.


The book also opens with a list of JavaScript keywords and the warning not to use them for your own names. Which is fine except we haven't even got to the point where variables have been introduced so it's all a bit vague and confusing. Next we study the mechanics of including script in the page and then move on to consider variables. Then, functions are introduced along with anonymous functions and hoisting - these could have been left for later. Next we look at variable scope which isn't exactly a beginner's topic. The let and const declarations are recommeded, but without explaining block scope. Finally we look at closures which as a first-chapter topic is well out of place. This is an advanced topic which you usually can ignore until you have reached the point where returning a function from a function seems natural. This is modern JavaScript, but it's out of place here. As elsewhere in the book, everything is explained simply and plainly, but the order in which things are introduced makes it harder for a beginner to grasp the bigger picture.

The next Step moves on to operations and we have lightning looks as arithmetic, assignment, logic, conditionals and operator precedence - it is hardly an introduction it is more like a complete survey.

It isn't until Step 3 we reach the bit that most beginners find really difficult, i.e. flow of control. In this short section we have all of the control statements - if, if else, switch, for, while, do while and breaking out of loops. If you have never programmed before this is a tough section that is going to need reading more than once.  Again, rather than being a gradual introduction, it is complete.


From here we make the acquaintance of objects in Step 4. This is improved from the previous edition and now starts with object literals before moving on to built-in objects - date, strings and numbers. It has an extended section on using arrays and the Date object. Nothing about constructors or class.  If you want to master JavaScript this isn't enough of an introduction, but it at least shows you how to get some common things done.

The remainder of the book moves off the topic of learning JavaScript and more onto the topic of using it. Step 5 is about working with numbers and strings.  Step 6 introduces the Window Object and introduces the DOM.  Step 7 works with the document object and forms.

St 8 makes the jump from web pages to web apps. This is ambitious to say that least as there are plenty of JavaScript programmers who don't know the best way to create a web app. This section introduces JSON, Promises, the Fetch API and so on. It is heading in the direction of PWA, but doesn't get there because it doesn't deal with workers or more precisely Service Workers.

Step 9 is about creating web apps, but really it only introduces the idea of Ajax. The final step is called Scripting Magic and it consists of a collection of more advanced and impressive topics such as canvas, SVG and so on.

This isn't a book that is going to get you from a JavaScript beginner to even a reasonably competent programmer. It is far too much concerned with showing you how to get particular jobs done without giving you the bigger picture. However, to give the bigger picture would need far more pages than this book has or it would need a much more restricted range of topics. For example, there isn't much point in covering the Fetch API or Promises at the level it is covered at and the same goes for the exciting ideas of canvas and SVG. Much better to take the pace slower and stay with core JavaScript.

The book's main focus is on using JavaScript to add a bit of sophistication to a web page rather then the creation of web apps and as such it really doesn't need to go beyond the core ideas. 

If you already program then this book isn't going to help you learn modern, object-oriented JavaScript - it hardly touches on the use of objects. If you don't already program then it might get you started adding some simple scripts to web pages, but you are going to have to work hard to learn the bigger ideas. 

It is a very cheerful and colorful book and if you like this sort of approach then it would make a good refresher if you have taken time off from JavaScript.


  • Ian Elliot is the author of several JavaScript titles. Just JavaScript: An Idiomatic Approach, intended for programmers who are familiar with another language,  takes a radical look at JavaScript  and the way in which it is object-based. JavaScript Async covers asynchronous programming in JavaScript, async/await, Promises, Service Workers and so on.  His latest book, JavaScript Bitmap Graphics with Canvasshows you how to use Canvas to create graphics without resorting to a library of any kind.








Last Updated ( Wednesday, 06 May 2020 )