Top 10 JavaScript Interview Questions
December 27, 2019
what is the difference between "var" and "let" keywords? 1:15
- let was introduced in ES2015/ES6
- let has block scope (which dies at the end of block)
- var has function scope
- var gets hoisted
what is the difference between "==" and "===" signs? 3:54
- "===" compares both value and type
what is the difference between "let" and "const" keywords? 6:02
- const variable can't be re-assigned, but can be modified for objects
what is the difference between "undefined" and "null" keywords? 9:06
- typeof(undefined) => undefined
- typeof(null) => object
what is use of Arrow function? 10:01
- Arrow functions were introduced in ES6.
- In regular functions the this keyword represented the object that called the function, which could be the window, the document, a button or whatever. With arrow functions the this keyword always represents the object that defined the arrow function.
- The popular airbnb eslint configuration enforces the use of JavaScript arrow functions any time you are creating an anonymous function.
0:33 - what is prototypal inheritance
- Every object has prototype property. (Prototype based inheritance)
2:58 - what is the difference between function declaration & function expression
function funcD(){
console.log("function declaration")
}
let funcE = function(){
console.log("function expression")
}
4:21 - what is promises and why do we use it
- Promise is used for async calls with callback
6:43 - setTimeout()
setTimeout(function(){
console.log('a')
}, 0)
console.log('b')
console.log('c')
display : b, c, a (setTimeout is an async call)
8:23 - what is closure and how do we use it
- The inner function can hold the variable even if the parent function is closed
- A closure is a function having access to the parent scope, even after the parent function has closed.