Software Development

Working with Reference Types in JavaScript



JavaScript has both primitive and reference types. It has three primitive types: string, numeric, and boolean. Internally, these are small and fixed-sized collection of bytes that are easily and predictably manipulated at the low (primitive) levels of the JavaScript interpreter. Example of strings are ‘This is a string’ and “This is another string”. Numeric values – 1, and 3.1416. Boolean values – true or false.  On the other hand, reference types are different. They include objects (including JS built-in objects), Arrays, and functions. Essentially, they can have any number of properties or elements with various types (both primitives and references), so they cannot be manipulated as easily as fixed-size primitive values can.

When working with references, everything is “by reference”.  Here I will use the term “reference variable” to mean a variable of reference type, e.g., Object. When you copy reference variables, pass them as arguments to a function, and compare against each other, it is always “by reference”.

Copy by Reference


Pass by Reference



Compare by Reference




Got comments or suggestions? We disabled the comments on this site to fight off spammers, but you can still contact us via our Facebook page!.

You Might Also Like