What is copy by value and copy by reference?

·

1 min read

Before going to details about copy by value and copy by reference first, we need to know about Primitive datatype and non-primitive data type

What is a Primitive data type?

Primitive data types are :

-Number -Boolean -Undefined -String -Null

The non-primitive data types are:

Object Array

copy by Value:- When we pass Primitive data types we actually share value to the other data types. Let's see an example

Screenshot (309).png

let a=10;
let b=a;
b=20;

console.log(a) // 10
console.log(b) // 20

In the above example, we actually pass the value of a so change in b will not reflect in a.Same concept apply to all other primitive data types as well.Let's see an another example of copy by value

let str1 = "car";
let str2 = str1;
str2 = "truck";
console.log(str1) // car
console.log(str2) // truck

copy by reference:- In non-primitive data type we pass reference means address of a variable .Let's see an example

copy by reference.PNG

let person = {
  name: 'John',
  age: 25,
};

let newPerson=person;
newPerson.age=30;
console.log(person) // {name: 'John', age: 30}

here person.age value also changed because we pass address of person so newperson can access all the values of person and can manipulate also which will reflect on person also