In this article, we will see in detail a couple of interview questions in Javascript.

1)What is a deep copy and Shallow copy?

Shallow copy: In shallow copy, all the top-level primitives get a copy excluding objects which are still connected to the original value.

Note: If the array is of strings or number it gets copied but in case of an array of objects it is still connected to the original value.

Primitive data types include the following:

Number — e.g. 1

String — e.g. ‘Hello’

Boolean — e.g. true

undefined

null

Example:

var tshirt={

size:170,

sizeInLocal:‘L’,

sizeAvailable:{

‘m’:“Available”

}

}

Lets make a copy a shallow copy of tshirt object:

var tshirt1=Object.assign({}, tshirt)

tshirt1.sizeAvailable.m=“NotAvailable”//Here tshirt.sizeAvailable.m will also become NotAvailable .

tshirt1.size=150;//Only value of tshirt1.size is changed and not tshirt.size as size is of primitive type.

Deep Copy: In this case primitives as well as objects get copied. There is no connection with the original value. So if you change any value of the object it will not reflect to the original object.

Example:

Lets make a deep copy of this tshirt object:

var tshirt1=JSON.parse(JSON.stringfy(tshirt));

Note: You can use your own implementation for deep copy if object contains functions, getter and setter as for such objects this method is not recommended.

tshirt1.sizeAvailable.m=“NotAvailable”//Here tshirt.sizeAvailable.m will not change.

Hope you got the difference.

I would recommend you to try this example by logging the object on the console.

#javascript #programming #interview questions

2 JavaScript Interview Questions that you must know
1.35 GEEK