Pass by Value and Pass by Reference in Javascript
Now that I've been working on Angular2 for almost 3 months, I've encountered a few scenarios which led me to wonder how does this happen ?
In the case of special this
keyword it's obvious that it's passing a reference or instance of the related DOM Object
or Class
for Example.
But then there is another thing called ControlGroup
which also does the same whenever it's assigned to another variable. And both the variables have access to same instance of that ControlGroup
.
Objects and arrays are passed by reference. Primitive values like number, string, boolean are passed by value. A reference to an object is also a primitive type and passed by value like other primitive types, but the object it refers to is still passed by reference.
This is not Angular or TypeScript specific, just how JavaScript works.