Book Image

Learning JavaScript Data Structures and Algorithms - Second Edition

By : Loiane Groner
Book Image

Learning JavaScript Data Structures and Algorithms - Second Edition

By: Loiane Groner

Overview of this book

This book begins by covering basics of the JavaScript language and introducing ECMAScript 7, before gradually moving on to the current implementations of ECMAScript 6. You will gain an in-depth knowledge of how hash tables and set data structure functions, as well as how trees and hash maps can be used to search files in a HD or represent a database. This book is an accessible route deeper into JavaScript. Graphs being one of the most complex data structures you’ll encounter, we’ll also give you a better understanding of why and how graphs are largely used in GPS navigation systems in social networks. Toward the end of the book, you’ll discover how all the theories presented by this book can be applied in real-world solutions while working on your own computer networks and Facebook searches.
Table of Contents (18 chapters)
Learning JavaScript Data Structures and Algorithms - Second Edition
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface

ECMAScript 7 functionalities


Until the date that this book is being written, only one functionality is confirmed to be shipped with ES7 (or ECMAScript 2016), which is called Array.prototype.includes.

There are other functionalities that are almost ready and may be included in ES7 but still not confirmed, which are:

  • The exponentiation operator

  • SIMD.JS - SIMD APIs + polyfill

  • Async functions

  • Object.values/Object.entries

  • String padding

  • Trailing commas in function parameter lists and calls

The exponentiation operator may come in handy when working with math, and it simplifies the Math.pow(2, 3) code to 2 ** 3, where ** is designed to be the new exponentiation operator.

You will learn more about the Array.prototype.includes functionality in the next Chapter 2, Arrays.

Note

For more information about ES7, visit https://tc39.github.io/ecma262/ .

ES6 and ES7 backward compatibility

Do I need to update my current JavaScript code to ES6 or Es7? Of course not! ES6 and ES7 are subsets of the JavaScript language. Everything that was standardized as ES5 will continue working as is today. However, you can start using ES6 and ES7 to leverage the new syntax and make your code simpler and easier to read.

In the following chapters of this book, we will try to use ES6 and ES7 as much as we can. In case you want to write the example code using ES5, you can always use Babel to transpiler the code of this book into ES5 code.

Note

Some of the examples we will create are also available in ES5 syntax by accessing the branch master of the Github repository at https://github.com/loiane/javascript-datastructures-algorithms .

Now, we have covered all the basic JavaScript concepts that are needed for us to start having some fun with data structures and algorithms!