Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Essential TypeScript : from beginner to pro
Freeman A., Apress, New York, NY, 2019. 546 pp. Type: Book (978-1-484249-78-9)
Date Reviewed: Nov 10 2020

TypeScript is a superset of JavaScript, created by Microsoft, that adds type safety to the language.

This book does a great job of teaching JavaScript programmers to work effectively with TypeScript. Like all books of its kind, it is likely to be irrelevant in a few years; however, for today, it is excellent.

The author assumes that his readers have basic programming skills in JavaScript or similar languages. He does offer a refresher on the key parts of JavaScript, but not at a depth that I think sufficient for novice developers. His ideal audience is mid-level to experienced JavaScript programmers who want to transition to TypeScript. Experienced programmers in other languages should also be fine.

The first chapter is an interesting overview. It is a whirlwind tour of TypeScript. By the end of this chapter, the reader will have seen all the key parts of a toy app. Obviously, this does not include enough detail to learn the whole language, but it does a great job of demonstrating what the language can do.

The next chapter is the real introduction to the book. It explains the language and the author’s teaching philosophy. It also offers a free website that should have errata and updates to match changes in TypeScript. When I looked, however, it contained no updates beyond the original upload, now eight months old. Meanwhile, TypeScript has moved forward from version 3.5 to 3.8.

Chapter 3 is nominally an introduction to JavaScript. Its focus is not the whole language--which the reader is assumed to either know or be able to learn easily--but rather the trickier or newer parts of JavaScript, including types, the this value, and the spread and rest operators. Chapter 4 continues in the same vein, with a very well-done exposition of prototype-based inheritance, classes, iterators, collections, and modules.

The next two chapters focus on mechanics: setting up TypeScript; target and options; and tooling for debugging, testing, and linting.

Part 2 (chapters 7 through 14) is the bulk of the book. It works through all the features that TypeScript adds to JavaScript. The author methodically builds a toy app to illustrate each point. The sample code is clear and appears to be error-free (at least to my casual reading). The typeface and layout are nicely done, with boldface used to highlight new or changed lines in each sample block. This section covers static type declaration; functions; arrays, tuples, and enums; objects; classes and interfaces; generic types; and JavaScript inter-operability. In short, Part 2 teaches TypeScript.

The final section of the book takes a step back from the language and looks at systems issues, including configuration, web deployment, tools, and environments. In a total of eight chapters, it devotes two chapters each to bare web development, Angular, React, and Vue. All appear thorough and correct, with the discussion covering WebPack, development and deployment servers, routing, the document object model (DOM) application programming interface (API), Bootstrap cascading style sheets (CSS), Axios for Ajax calls, and so on.

I read the React section the most carefully, as I have more experience with React. It appears to be quite good and as up-to-date as possible in light of the book’s mid-2019 release date. Most of the sample code uses class components and Redux, but there is also an explanation of functional components and hooks.

More reviews about this item: Amazon

Reviewer:  David Goldfarb Review #: CR147104 (2104-0067)
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Multiparadigm Languages (D.3.2 ... )
 
 
Javascript (D.3.2 ... )
 
 
Coding Tools and Techniques (D.2.3 )
 
 
Object-Oriented Programming (D.1.5 )
 
 
Programming Languages (D.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Multiparadigm Languages": Date
A declarative debugger of incorrect answers for constraint functional-logic programs
Caballero R.  Curry and functional logic programming (Proceedings of the 2005 ACM SIGPLAN Workshop on Curry and Functional Logic Programming, Tallinn, Estonia, Sep 29, 2005)8-13, 2005. Type: Proceedings
Dec 22 2005
Learn to Tango with D
Bell K., Igesund L., Kelly S., Parker M., Apress, 2007.  208, Type: Book
Aug 20 2008
Programming Scala: scalability = functional programming + objects
Wampler D., Payne A., O’Reilly Media, Inc., Sebastopol, CA, 2009.  448, Type: Book (978-0-596155-95-7), Reviews: (1 of 2)
Jun 11 2010
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy