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 20 2019

JavaScript (ECMAScript) is kind of a mess of a language. It has grown and changed over time, but most of the original language misfeatures remain, including the almost complete way it ignores types and coerces values into other types in weird and wonderful ways.

There have been several recent efforts to introduce type declarations and classes into JavaScript to remedy some of these flaws. Currently, the most popular effort is TypeScript. This book is an introduction to TypeScript. It briefly introduces JavaScript before covering the practical use of TypeScript in several popular web frameworks. The 22 chapters are arranged into three parts.

The first part (six chapters) covers essentials such as installing required supporting software (such as Git) and important TypeScript and JavaScript concepts. JavaScript is important to understand in this context because TypeScript is mostly based on JavaScript, that is, it is a preprocessor for JavaScript and shares much of the same syntax.

Part 2 is a more in-depth look at TypeScript and types used. Static typing is an important part of TypeScript, and a good understanding of the possible types and how they interact is essential to using the language effectively. This section also covers how to create classes and generic types using TypeScript, along with the relationship between programming in TypeScript and in JavaScript (often essential in real applications).

Part 3 examines TypeScript in real-world web applications, first on its own and then used together with three popular web application frameworks (Angular, React, and Vue).

The book is based around a couple of extended examples. The most important of these is based around what could be a real application based on a listing of products and prices that might be selected by end users. This example is revisited in several different contexts, and much of the same code is used in the web application section. Given the ways that TypeScript types vary from the usual ways languages provide types and (especially) classes, the extended examples are particularly useful.

Extensive code listings are provided; previously presented code is augmented with new code in boldface, so the changes are evident. This leads to examples with more repeated code than is ideal, but it’s not easy to see how this could be avoided and still maintain clarity. The code is available on the book’s website, so those who want to dive into the code itself can use that as a basis for experimentation.

There is an index, but it’s next to useless. As I was reading, I often checked the index to get more information on a topic or construct and found little, including concepts that are essential for understanding.

This book may not be a cheerleader for TypeScript (though it does come off that way from time to time), but it does try to provide good reasons to use it. TypeScript clearly has advantages over JavaScript, and hopefully TypeScript continues to improve on those advantages; however, as someone who was interested in using TypeScript, I found myself liking it less and less as I read. This should not be taken as disparaging the system completely, just as a personal statement that TypeScript, in its current form, is not for me.

More reviews about this item: Amazon

Reviewer:  Jeffrey Putnam Review #: CR146786 (2004-0062)
Bookmark and Share
  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