Interview Questions- Part-1

Primitive/Non-Primitive Data Types

				
					//*******DataTypes**************

typeof 5 --> number
typeof true --> boolean
typeof 'I am string' --> string
typeof undefined --> undefined
typeof null --> object
typeof Symbol('symbol') --> Symbol
typeof {} --> object
console.log(typeof []); //object (Arrays are objects)
typeof NaN --> Number
 
//*******Functions**************

const obj = function () {
  return 5;
};
obj.hello = "hello"; 
 
//Here functions are behaving like objects.you can assign the property
//console.log(obj.hello); // output is hello.
				
			

undefined vs null

				
					//****************************************
console.log(`%c ${undefined === null}`, "color:red;font-size:20px");//false
console.log(`%c ${undefined == null}`, "color:red;font-size:20px"); //true
				
			

Memory leak

				
					//********************************
let array= [];
for (let i= 15; i > 1; i++) {
  array.push(i);
}
				
			

Remove Duplicates in an array

				
					//**Remove Duplicate **
const num1 = [1, 2, 3, 4, 5];
const num2 = [2, 3, 6, 7, 8];
let removeDuplicate = [...new Set([...num1, ...num2])];
console.log(`%c ${removeDuplicate}`, "color:red;font-size:20px");
output:- 1,2,3,4,5,6,7,8
// [... new Set(array)
				
			

assign values to variable shortcut

				
					//************Assignment**********************
let a, b, c;
//old way
// a = 1;
// b = 2;
// c = 3;
//new way as below
[a, b, c] = [1, 2, 3];
console.log(`%c ${a} ${b} ${c}`, "color:red;font-size:20px");
//output- 1,2,3
				
			

Javascript is a dynamic language

				
					var a = "anurag";
a = 123;
a = true;
console.log(`%c ${a}`, "color:red;font-size:20px");
//output:- true
				
			

var let const - redeclarable/updatable

				
					//****************var************************

var test = "test";
var test = "test changed";
console.log(test);
output:- test changed

//****************let************************

let test = "test";
//below redeclaration is not allowed as let is already declared
let test = "can I redeclare ??";
				
			

Deep cloning

				
					//********** Deep cloning  **************


var cricketer = {
  name: "Virat",
  team: "India",
  age: 32,
  colleagues: {
    name: "Rohit",
  },
  performance: function (type) {
    return `${this.name} is ${type} player`;
  },
};
var copyCricketer = cricketer;
copyCricketer.age = 42;

console.log(copyCricketer);

console.log(cricketer);



				
			
				
					var copyCricketer1 = JSON.parse(JSON.stringify(cricketer));
copyCricketer1.age = 45;
console.log(copyCricketer1);
console.log(cricketer);
				
			
				
					var copyCricketer2 = Object.assign({}, cricketer);
copyCricketer2.colleagues.name = "Rahane";
copyCricketer2.age = 34;
console.log(copyCricketer2);
console.log(cricketer);
				
			
				
					let spreadCricketerCopy = { ...cricketer };
spreadCricketerCopy.colleagues.name = "Rahane";
spreadCricketerCopy.age = 34;
console.log(spreadCricketerCopy);
console.log(cricketer);
				
			
				
					let finalDeepCopy = _.cloneDeep(cricketer);
finalDeepCopy.colleagues.name = "Rahane";
console.log(finalDeepCopy);
console.log(cricketer);
				
			

Leave a Comment