WeakMaps allow associating keys and values similar to Map except WeakMap does not allow iterating over its keys or values. If WeakMap would be the only object holding on to the key/value pair, the pair will be released from memory. The keys cannot be primitive values (Boolean, Number, String, or undefined).
key and its corresponding value from
key was in
this before deleting it.