Book Image

TypeScript Blueprints

By : Ivo Gabe de Wolff
Book Image

TypeScript Blueprints

By: Ivo Gabe de Wolff

Overview of this book

TypeScript is the future of JavaScript. Having been designed for the development of large applications, it is now being widely incorporated in cutting-edge projects such as Angular 2. Adopting TypeScript results in more robust software - software that is more scalable and performant. It's scale and performance that lies at the heart of every project that features in this book. The lessons learned throughout this book will arm you with everything you need to build some truly amazing projects. You'll build a complete single page app with Angular 2, create a neat mobile app using NativeScript, and even build a Pac Man game with TypeScript. As if fun wasn't enough, you'll also find out how to migrate your legacy codebase from JavaScript to TypeScript. This book isn't just for developers who want to learn - it's for developers who want to develop. So dive in and get started on these TypeScript projects.
Table of Contents (16 chapters)
TypeScript Blueprints
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

Chapter 7. Spreadsheet Applications with Functional Programming

In this chapter, we will explore a different style of programming: functional programming. With this style, functions should only return something and not have other side effects, such as assigning a global variable. We will explore this by building a spreadsheet application.

Users can write calculations in this application. The spreadsheet contains a grid and every field of the grid can contain an expression that will be calculated. Such expressions can contain constants (numbers), operations (such as addition, multiplying), and they can reference other fields of the spreadsheet. We will write a parser, that can convert the string representation of such expressions into a data structure. Afterwards, we can calculate the results of the expressions with that data structure. If necessary, we will show errors such as division by zero to the user.

We will build this application using the following steps:

  • Setting up the project

  • Functional...