Each array has its own memory reference
Array("asdf") === Array("asdf") // false
===
is a strict equality, not identity operator
memory reference
Identical looking object/array content doesn't mean they are pointing to the same memory
Shallow copy
creates another reference to the same object.
Deep copy
creates another object with exact values copied (hence, not referencing the original object)
Shallow Copy stores the references of objects to the original memory address.
Stores the copy of the original object and points the references to the objects.
Stores copies of the object’s value.
Stores the copy of the original object and recursively copies the objects as well.