WeakMap allows you to add additional data into an Object that belongs to another or third-party code. With the special “weak” link feature of WeakMaps, we can make sure the data associated with this alien object, would only exist as long as the object is alive.
Both, Maps and WeakMaps are new data structures, or collections, introduced in [ES6]. Another example of a collection is an array. Similarly to an array, both Maps and WeakMaps allow you to store data. In case of these Maps and WeakMaps you store in the form of key-value pairs.
If you want to access some value stored in a Map, all you have to do is to use the correct
key. This also works for WeakMaps. When you want to access some value stored in a WeakMap, you also have to use correct
key. Both, Maps and WeakMaps allow you to add new key-value pairs and remove existing.
What if you are not sure if a Map or WeakMap contains specific key? There is a method you can use to quickly check if the key exists. So, this is where Maps and WeakMaps work in the same way. Along with these similarities, there are some important differences between these two you need to know.
The first difference between Maps and WeakMaps is the type of data you can use. With Maps, you can use any data type you want to create a key for the key-value pair. This also includes objects and functions. This is not true for WeakMaps. WeakMaps allow you to create keys only with objects, not with any other data type.
This is one of the main differences between Maps and WeakMaps. Another important difference is that all keys in a WeakMap are weakly referenced. This means that objects used as key for a WeakMap can still be garbage collected. This will happen when all references to those objects are gone.
When these objects are no longer used by any part of the program garbage collection will free them from memory. It is important to note that garbage collection will not free those objects from memory immediately. These objects will be only “marked” to be garbage collected.
forEach() method like you can over Maps.
This also means that you have to know the key you are looking for. Since we are talking about iterability. WeakMaps also don’t have any
size property. So, you don’t really know how many pairs are inside one. Lastly, there is no
clear() method that would allow to remove all data from a WeakMap.
These differences are quite important and put serious constraints on what you can do with WeakMaps. However, don’t let this discourage you from learning more about them because WeakMaps can still be useful. We will talk about this soon, but first, let’s take a look at how you can create WeakMaps and what you can do with them.
Import and export statements are two great features introduced ES6 (ES2015). These two statement allows you to export and import your code and use it whenever you need. This tutorial will show you what import and export statements are, how they work and how to use them.
Web development is a dynamic field. With the emergence of new technologies each year, we can observe web development trends changing to a greater or lesser extent. In 2020 too, new technologies have emerged and