Skip to content

ES6 Basic Practice and Common DOM and ES6 Related interview questions

Notifications You must be signed in to change notification settings

nwebpro/es6-basic-practice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

☕  Connect with me!

Facebook Badge Linkedin Badge Instagram Badge Twitter Badge Mail Badge

Common DOM Related interview questions

1. What is DOM?

  • āĻĄāĻŽ(DOM) āĻŦāĻž āĻ…āĻ¨ā§āĻ¯āĻ•āĻĨāĻžā§Ÿ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻŽāĻĄā§‡āĻ˛(Document Object Model) āĻšāĻšā§āĻ›ā§‡ XML āĻŦāĻž HTML āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻœāĻ¨ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸āĨ¤ āĻāĻ–āĻ¨ āĻāĻŸāĻž āĻ•āĻŋ? āĻāĻŸāĻž āĻšāĻšā§āĻ›ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§‡āĻœ(HTML āĻŦāĻž XML āĻĒā§‡āĻœ) āĻ•ā§‡ āĻāĻŽāĻ¨āĻ­āĻžāĻŦā§‡ āĻ°āĻŋāĻĒā§āĻ°ā§‡āĻœā§‡āĻ¨ā§āĻŸ āĻ•āĻ°ā§‡ āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻžāĻ•ā§‡ āĻ¸āĻšāĻœā§‡āĻ‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ˛ā§āĻ¯āĻžāĻ‚āĻ—ā§ā§Ÿā§‡āĻœ āĻĻāĻŋā§Ÿā§‡ āĻŽāĻĄāĻŋāĻĢāĻžāĻ‡ āĻ•āĻ°āĻž āĻ¯āĻžā§ŸāĨ¤

DOM āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸āĻšāĻœā§‡ HTML āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻšā§‡āĻžā§āĻœ āĻ†āĻ¨āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻ¯ā§‡āĻŽāĻ¨ :

  • āĻ¨āĻ¤ā§āĻ¨ āĻ‡āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°ā§€ āĻ•āĻ°āĻž
  • āĻ†āĻ—ā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ‡āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻ°āĻŋāĻŽā§āĻ­ āĻ•āĻ°āĻž
  • āĻ†āĻ—ā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ‡āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻŽāĻĄāĻŋāĻĢāĻžāĻ‡ āĻ•āĻ°āĻž
  • āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸāĻ¸ āĻŽāĻĄāĻŋāĻĢāĻžāĻ‡ āĻ•āĻ°āĻž, āĻ…ā§āĻ¯āĻžāĻĄ āĻ•āĻ°āĻž, āĻ°āĻŋāĻŽā§āĻ­ āĻ•āĻ°āĻž
  • āĻ¸ā§āĻŸāĻžāĻ‡āĻ˛āĻŋāĻ‚ āĻ…ā§āĻ¯āĻžāĻĄ āĻ•āĻ°āĻž, āĻ°āĻŋāĻŽā§āĻ­ āĻ•āĻ°āĻž, āĻŽāĻĄāĻŋāĻĢāĻžāĻ‡ āĻ•āĻ°āĻž
  • āĻĒā§‡āĻœā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°ā§€ āĻ•āĻ°āĻž, āĻ¯ā§‡ āĻāĻ°āĻ•āĻŽ āĻ•ā§‹āĻ¨ā§‹ āĻ•āĻŋāĻ›ā§ āĻ˜āĻŸāĻ˛ā§‡ āĻĒā§‡āĻœā§‡āĻ° āĻ‰āĻĒāĻ° āĻāĻ•āĻŸāĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ - āĻĒāĻžāĻ°āĻĢāĻ°ā§āĻŽ āĻ•āĻ°āĻž
  • āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•ā§‹āĻ¨ā§‹ āĻ‡āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻ‰āĻĒāĻ° āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°ā§€ āĻ•āĻ°āĻž, āĻ¯ā§‡ āĻāĻ‡ āĻ‡āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻ‰āĻĒāĻ° āĻāĻŽāĻ¨ āĻ•āĻŋāĻ›ā§ āĻ˜āĻŸāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ…āĻŽā§āĻ• āĻ…ā§āĻ¯āĻžāĻ•āĻļāĻ¨ āĻ¨āĻŋāĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤

2. What are the different ways to get an element from DOM?

āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛ āĻ•ā§‹āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž HTML āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ“āĻ­āĻžāĻ°āĻ°āĻžāĻ‡āĻŸ āĻ¨āĻž āĻ•āĻ°ā§‡āĻ‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ JavaScript āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ā§ˇ

DOM āĻĨā§‡āĻ•ā§‡, āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻĒāĻžāĻāĻšāĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ HTML āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

  • Get HTML element by Id
  • Get HTML element by className
  • Get HTML element by Name
  • Get HTML element by tagName
  • Get HTML element by CSS Selector

Syntax:

document.getElementById(element_ID);
document.getElementsByClassName(element_classnames);
document.getElementsByName(element_name);
document.getElementsByTagName(Tag_name);
document.querySelector(selectors);
document.querySelectorAll(selectors);

3. What’s the difference between an Event Handler and an Event Listener?

  • Event Handlers

    • āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡, āĻāĻ•āĻŸāĻŋ āĻŦāĻ¸ā§āĻ¤ā§āĻ° EventHandler āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ onclick āĻ¨āĻžāĻŽāĻ• āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
const button = document.querySelector(".btn")

button.onclick = () => {
  console.log("Button clicked.");
};
  • āĻāĻ•āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻāĻ•āĻŸāĻŋ āĻŦā§‹āĻ¤āĻžāĻŽā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°āĻ˛ā§‡ onclick āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ°āĻŸāĻŋ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻšāĻ¯āĻŧāĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, Button clicked. āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻšāĻ¯āĻŧāĨ¤

4. What does “event bubbling” mean in JavaScript?

āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ bubbling āĻšāĻ˛ HTML DOM API-āĻ¤ā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻĒā§āĻ°āĻšāĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ…āĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡ āĻāĻŦāĻ‚ āĻ‰āĻ­āĻ¯āĻŧ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ‡ āĻ¸ā§‡āĻ‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻŽāĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¯āĻž āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻŸāĻŋāĻ•ā§‡ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻĨāĻžāĻ•āĻž āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ bubbles āĻ•āĻ°ā§‡āĨ¤

5. Can you explain the different types of events available in JavaScript?

āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ•ā§‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡: HTML āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ•ā§‹āĻĄ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ HTML āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ HTML āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

6. What’s the difference between event.preventDefault() and event.stopPropagation()?

event.preventDefault() āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ†āĻšāĻ°āĻŖāĻ•ā§‡ āĻŦāĻžāĻ§āĻž āĻĻā§‡āĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻŸāĻŋāĻ•ā§‡ DOM bubbling āĻ•āĻ°āĻž āĻĨā§‡āĻ•ā§‡ āĻĨāĻžāĻŽāĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤ event.stopPropagation() āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸāĻŸāĻŋāĻ•ā§‡ DOM bubbling āĻ•āĻ°āĻž āĻĨā§‡āĻ•ā§‡ āĻŦāĻžāĻ§āĻž āĻĻā§‡āĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ†āĻšāĻ°āĻŖ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤

Common ES6 interview questions

1. What is ES6? Have you ever used anything from ES6?

ES6 āĻ•āĻŋ: ES6 āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ ECMAScript 6āĨ¤ ECMAScript āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ•ā§‡ āĻŽāĻžāĻ¨āĻ¸āĻŽā§āĻŽāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻāĻŦāĻ‚ ES6 āĻšāĻ˛ ECMAScript-āĻāĻ° 6 āĻ¤āĻŽ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ, āĻāĻŸāĻŋ 2015 āĻ¸āĻžāĻ˛ā§‡ āĻĒā§āĻ°āĻ•āĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ ECMAScript 2015 āĻ¨āĻžāĻŽā§‡āĻ“ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĨ¤

  • āĻšāĻž āĻ†āĻŽāĻŋ ES6 āĻāĻ° Template String, Array Function, Spread Operator, Destructuring, Default Value, etc. āĻāĻ‡āĻ—ā§āĻ˛ā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

2. Explain the difference between var, let and const?

  • Var

    • āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ var āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ: āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ var āĻšāĻ˛ āĻĒā§āĻ°āĻžāĻšā§€āĻ¨āĻ¤āĻŽ āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĨ¤
    • Scope: āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻ¸ā§āĻ•ā§‹āĻĒāĻĄ āĻŦāĻž āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸ā§āĻ•ā§‹āĻĒāĻĄāĨ¤ var āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄā§‡āĻ° āĻ¸ā§āĻ•ā§‹āĻĒ āĻšāĻ˛ āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻŦāĻž āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸ā§āĻ•ā§‹āĻĒāĨ¤ āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ globally āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻ—ā§āĻ˛āĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤
var a = 10
    function f(){
        console.log(a)
    }
f();

console.log(a);
  • Let

    • āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ let āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ: let āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻŸāĻŋ var āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĨ¤
    • Scope: āĻŦā§āĻ˛āĻ• āĻ¸ā§āĻ•ā§‹āĻĒāĻĄ: āĻāĻ•āĻŸāĻŋ let āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦā§āĻ˛āĻ• āĻ¸ā§āĻ•ā§‹āĻĒāĻĄāĨ¤ āĻāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦā§āĻ˛āĻ•ā§‡āĻ° ({block}) āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ¯ā§‹āĻ—ā§āĻ¯ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻ¨ā§€āĻšā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻĻā§‡āĻ–āĻŋāĨ¤
let a = 10;
function f() {
    let b = 9
    console.log(b);
    console.log(a);
}

f();
  • Const

    • āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ const āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ: const āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĻŸāĻŋāĻ¤ā§‡ let āĻ•ā§€āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄā§‡āĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ¤āĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤
    • Scope: āĻŦā§āĻ˛āĻ• āĻ¸ā§āĻ•ā§‹āĻĒāĻĄ: āĻ¯āĻ–āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻāĻ•āĻŸāĻŋ const āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°ā§‡, āĻ¤āĻ–āĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻāĻŸāĻŋ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ const āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋ āĻ˜ā§‹āĻˇāĻŖāĻž āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻžāĨ¤
let a = 10;
function f() {
    a = 9
    console.log(a);
}

f();

3. What is the arrow function, and how to create it?

Array āĻĢāĻžāĻ‚āĻļāĻ¨ āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° ES6 āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋāĨ¤ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ regular āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤

  • Example
// using regular function
const function (a, b){
    const c = a + b;
    return c;
}

// using arrow functions
const x = (x, y) => x * y;

4. Give an example of an Arrow function in ES6? List down its advantages.

// example of an Arrow function in ES6
const show = (a, b=200) => {
    console.log(a + " " + b);
}
show(100);

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻĢāĻžāĻ‚āĻļāĻ¨ā§‡, āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ b - āĻāĻ° āĻŽāĻžāĻ¨ 200 āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻ†āĻ›ā§‡āĨ¤ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž 200 āĻ•ā§‡ b āĻāĻ° āĻŽāĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°āĻŦā§‡ āĻ¯āĻĻāĻŋ b āĻāĻ° āĻ•ā§‹āĻ¨ āĻŽāĻžāĻ¨ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻĒāĻžāĻ¸ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤

  • Advantages of Arrow Functions

    • Reduces code size
    • Return statement is optional for single line function
    • Lexically bind the context
    • Functional braces are optional for single line statement

5. Discuss spread operator in ES6 with an example?

āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ ES6 (ECMAScript 6) āĻ¸ā§āĻĒā§āĻ°ā§‡āĻĄ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ° āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻšāĻ˛ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĄāĻŸ (...) āĻāĻ° āĻĒāĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ (or iterable*)āĨ¤ āĻāĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻŸāĻŋāĻ•ā§‡ āĻĒā§ƒāĻĨāĻ• āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻāĻŸāĻŋ āĻāĻŽāĻ¨ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻļā§‚āĻ¨ā§āĻ¯ āĻŦāĻž āĻ¤āĻžāĻ° āĻŦā§‡āĻļāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤āĨ¤

let obj1 = { id: 101, name: 'Jhon Doe' }
let obj2 = { age: 25, country: 'USA'}
const employee = { ...obj1, ...obj2 }

console.log(employee);

6. What do you understand about default parameters?

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ¨āĻžāĻŽāĻ• āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻ°āĻŽā§āĻ­ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨āĻ“ āĻŽāĻžāĻ¨ āĻŦāĻž āĻ…āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻĒāĻžāĻ¸ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤ Example

const multiply(a, b = 1) => a * b;

console.log(multiply(5, 2));
// expected output: 10

console.log(multiply(5));
// expected output: 5

7. What are template literals in ES6?

āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ˛āĻŋāĻŸāĻžāĻ°ā§‡āĻ˛ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¯āĻž ECMAScript 2015/ ES6-āĻ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻ˛āĻžāĻ‡āĻ¨ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĒā§‹āĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻžā§āĻšāĻžāĻ˛āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ˛āĻŋāĻŸāĻžāĻ°āĻžāĻ˛ āĻšāĻ˛ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ˛āĻŋāĻŸāĻžāĻ°āĻžāĻ˛ āĻāĻŦāĻ‚ āĻāĻŽāĻŦā§‡āĻĄā§‡āĻĄ āĻāĻ•ā§āĻ¸āĻĒā§āĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤

ES6 āĻāĻ° āĻ†āĻ—ā§‡, āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ˛āĻŋāĻŸāĻžāĻ°ā§‡āĻ˛āĻ•ā§‡ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻŦāĻ˛āĻž āĻšāĻ¤āĨ¤ āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚-āĻ āĻ‰āĻĻā§āĻ§ā§ƒāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻĒāĻ°ā§€āĻ¤ā§‡, āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ˛āĻŋāĻŸāĻžāĻ°ā§‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻžāĻ•āĻŸāĻŋāĻ• (``) āĻ…āĻ•ā§āĻˇāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ†āĻŦāĻĻā§āĻ§ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸ āĻ˛āĻŋāĻŸāĻžāĻ°ā§‡āĻ˛ā§‡ āĻĒā§āĻ˛ā§‡āĻ¸āĻšā§‹āĻ˛ā§āĻĄāĻžāĻ° āĻĨāĻžāĻ•āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯āĻž āĻĄāĻ˛āĻžāĻ° āĻšāĻŋāĻšā§āĻ¨ āĻāĻŦāĻ‚ curly braces ($(expression}) āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤ āĻŦā§āĻ¯āĻžāĻ•āĻŸāĻŋāĻ•ā§āĻ¸ā§‡āĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡, āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ expression āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ‡ expression ($(expression}) āĻ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

8. Tell us the difference between arrow and regular function?

Array āĻĢāĻžāĻ‚āĻļāĻ¨ - āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ ES6-āĻ āĻĒā§āĻ°āĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ - āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻ¸āĻ‚āĻ•ā§āĻˇāĻŋāĻĒā§āĻ¤ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡ā§ˇ āĻ¯āĻĻāĻŋāĻ“ āĻ‰āĻ­āĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻāĻŦāĻ‚ Array āĻĢāĻžāĻ‚āĻļāĻ¨ āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ¤āĻŦā§āĻ“ āĻ¤āĻžāĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

Example of regular functions

const square = function(x){
    return (x*x);
};
console.log(square(9));

Example of arrow functions

const square = (x) => x * x;
console.log(square(9));

About

ES6 Basic Practice and Common DOM and ES6 Related interview questions

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published