Skip to content

sonatanpaul/Beyond-JavaScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Beyond JavaScript

JavaScript āĻ“ Web Development āĻāĻ° Eco System āĻ—āĻ­āĻŋāĻ°āĻ­āĻžāĻŦā§‡ āĻœāĻžāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ“ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ­āĻŋāĻ‰ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°āĻžāĻ° āĻŽāĻ¤ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻŦ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ“ āĻ‰āĻ¤ā§āĻ¤āĻ° āĻ¸āĻŽā§‚āĻš āĻāĻ•āĻ¤ā§āĻ°ā§‡ āĨ¤ āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ Developer āĻ‰āĻĒāĻ•ā§ƒāĻ¤ āĻšāĻŦā§‡āĻ¨ āĨ¤
āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ¸āĻ•āĻ˛ āĻĒā§āĻ°āĻļā§āĻ¨āĻ¸āĻŽā§āĻš āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĨ¤ āĻ§ā§€āĻ°ā§‡ āĻ§ā§€āĻ°ā§‡ āĻ¸āĻ•āĻ˛ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻ¸āĻŽā§‚āĻš āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻ° āĻ¤āĻž āĻ°āĻŋāĻĄā§‡āĻŦāĻŋāĻ˛ā§‡āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻž āĻ“ā§Ÿā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĨ¤

āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ¨āĻž

  • āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻžāĻœā§‡āĻ¸āĻ¨ā§āĻ¸,āĻ°āĻŋāĻ•ā§ā§Ÿā§‡āĻ¸ā§āĻŸ āĻĨāĻžāĻ•āĻ˛ā§‡āĻƒ Issue āĻ•ā§āĻ°āĻŋā§Ÿā§‡āĻŸ āĻ•āĻ°ā§āĻ¨

  • āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ¨āĻž āĻŦā§āĻāĻ˛ā§‡ āĻŦāĻž āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ˛ā§‡āĻƒ Discussion āĻ āĻœāĻŋāĻœā§āĻžāĻžāĻ¸āĻž āĻ•āĻ°ā§āĻ¨ āĨ¤

  • Contribute āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ˛ā§‡āĻƒ Contributions Guideline āĻĒā§œā§āĻ¨ āĨ¤


āĻ¸ā§‚āĻšāĻŋāĻĒāĻ¤ā§āĻ°



JavaScript

ā§§. Local storage āĻ“ session āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•āĻŋ ?

āĻ‰āĻƒ local storage āĻ“ session āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻšāĻ˛ā§‹āĻƒ

āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ Local Storage Session Storage
āĻ¸ā§āĻĨāĻžā§Ÿā§€āĻ¤ā§āĻŦ āĻŽāĻžā§āĻ¯āĻžāĻ¨ā§ā§ŸāĻžāĻ˛āĻŋ āĻŦāĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ•ā§āĻ¯āĻžāĻ˛āĻŋ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻĄāĻžāĻŸāĻž āĻ•ā§āĻ˛āĻŋā§ŸāĻžāĻ° āĻ¨āĻž āĻ•āĻ°āĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŸā§āĻ¯āĻžāĻŦ āĻ•ā§āĻ˛ā§‹āĻ¸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡
āĻāĻ­āĻžāĻ‡āĻ˛ā§‡āĻŦāĻ˛ āĻ¸āĻ•āĻ˛ window āĻ¤ā§‡āĻ‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŸā§āĻ¯āĻžāĻŦā§‡āĻ‡
āĻ‰āĻĒāĻ¯ā§‹āĻ—ā§€ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽā§Ÿ āĻĄāĻžāĻŸāĻž āĻ°āĻžāĻ–āĻžā§Ÿ āĻ†āĻ˛ā§āĻĒ āĻ¸āĻŽā§Ÿ āĻĄāĻžāĻŸāĻž āĻ°āĻžāĻ–āĻžā§Ÿ
ā§¨. DOM āĻ“ BOM āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•āĻŋ ?

BOM āĻ“ DOM āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡āĻ° JavaScript āĻāĻ° Window Object āĻāĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĨ¤ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻ¸āĻ•āĻ˛ āĻ•āĻŋāĻ›ā§ window āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻž master object āĻāĻ° āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ

BOM āĻ“ DOM āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻšāĻ˛ā§‹āĻƒ

āĻŦāĻŋāĻˇā§Ÿ DOM BOM
āĻĒā§‚āĻ°ā§āĻ¨āĻ¨āĻžāĻŽ Document Object Model Browser Object Model
āĻŦā§āĻ¯āĻ–ā§āĻ¯āĻž HTML āĻ“ XML documents āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻšā§‹āĻ¸ā§āĻŸ āĻāĻ¨āĻ­āĻžāĻ‡āĻ°āĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ° āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ° āĻ¸ā§āĻĒā§‡āĻ¸āĻŋāĻĢāĻŋāĻ• āĻĢāĻžāĻ‚āĻļāĻ¨āĻžāĻ˛āĻŋāĻŸāĻŋ
āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ Elements, Attributes, Text, etc. Window, Screen, Location, History, Navigator, etc.
āĻ¨āĻŋā§ŸāĻ¨ā§āĻ¤ā§āĻ°āĻ¨āĻ•āĻžāĻ°ā§€ W3C āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻ­āĻŋāĻ¨ā§āĻ¨āĻ­āĻžāĻŦā§‡ āĻ‡āĻŽā§āĻĒā§āĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻ•āĻ°ā§‡
ā§Š. Pure Function āĻ•āĻžāĻ•ā§‡ āĻŦāĻ˛ā§‡ ?

Computer Science āĻāĻ° āĻ­āĻžāĻˇāĻžā§Ÿ āĻ¯ā§‡ āĻ¸āĻ•āĻ˛ function āĻ‡āĻ¨ā§āĻŸāĻžāĻ°ā§āĻ¨āĻžāĻ˛ āĻ˛āĻœāĻŋāĻ• āĻ¨āĻŋā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡ āĻ“ āĻāĻ•āĻ‡ Input āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻ‡ Output āĻĻāĻŋā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻ•ā§‡ Pure Function āĻŦāĻ˛ā§‡ āĨ¤

āĻāĻ° ā§¨āĻŸāĻž āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸ āĻĨāĻžāĻ•ā§‡

  • āĻ¨āĻŋāĻœā§‡āĻ° āĻŦāĻŋāĻœāĻ¨ā§‡āĻ¸ āĻ˛āĻœāĻŋāĻ• āĻ¨āĻŋā§Ÿā§‡ āĻ•āĻ¨āĻ¸āĻžāĻ°ā§āĻ¨ āĨ¤
  • Same Input āĻāĻ° āĻœāĻ¨ā§āĻ¯ Same output āĻĻāĻŋā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡ āĨ¤

Pure Function āĻāĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻƒ

āĻāĻ–āĻžāĻ¨ā§‡ pureFn āĻ•ā§‡ Input āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ¯āĻ¤āĻŦāĻžāĻ°āĻ‡ ā§¨ āĻĻā§‡ā§ŸāĻž āĻšāĻŦā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° ā§Ē āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°āĻŦā§‡ āĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ Pure function āĻ¨ā§€āĻ¤āĻŋ ā§¨āĻŸāĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĢāĻ˛ā§‹ āĻ•āĻ°āĻž āĻšā§Ÿā§‡āĻ›ā§‡ āĨ¤

ā§§. āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° same input āĻāĻ° āĻœāĻ¨ā§āĻ¯ same output āĻĻāĻŋāĻŦā§‡ āĨ¤

ā§¨. āĻŦāĻžāĻšāĻŋāĻ°ā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻ•āĻžāĻ° āĻ¸ā§āĻŸā§‡āĻŸ āĻŦāĻž āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ°āĻ°āĻŋāĻ°āĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻžāĻ‡

āĻ…āĻĒāĻ°āĻĻāĻŋāĻ•ā§‡,

impureFn āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ Pure function āĻ¨ā§€āĻ¤āĻŋ ā§¨āĻŸāĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĢāĻ˛ā§‹ āĻ•āĻ°āĻž āĻšā§ŸāĻ¨āĻŋ āĨ¤

ā§§. āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° same input āĻĻāĻŋāĻ˛ā§‡āĻ“ āĻ†āĻ˛āĻžāĻĻāĻž āĻ†āĻ˛āĻžāĻĻāĻž output āĻĻāĻŋāĻšā§āĻ›ā§‡ āĨ¤

ā§¨. āĻāĻŸāĻŋ āĻŦāĻžāĻšāĻŋāĻ°ā§‡āĻ° count variable āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ›ā§‡, āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻœā§‡āĻ° āĻ˛āĻœāĻŋāĻ• āĻ¨āĻŋā§Ÿā§‡ āĻ•āĻ¨āĻ¸āĻžāĻ°ā§āĻ¨ āĻ¨āĻž , function āĻŸāĻŋ āĻ¨āĻŋāĻœā§‡āĻ° body āĻāĻ° āĻŦāĻžāĻšāĻŋāĻ°ā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻĢā§‡āĻ˛ā§‡āĻ›ā§‡ āĨ¤

āĻ¤āĻžāĻ‡ āĻāĻŸāĻŋ pure function āĻ¨āĻž āĨ¤

ā§Ē. Falsy āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ•ā§‹āĻ¨āĻ—ā§āĻ˛ā§‡āĻ•ā§‡ āĻŦāĻ˛ā§‡?

0, "", null, undefined, NaN, false āĻāĻ—ā§āĻ˛ā§‹āĻ•ā§‡ falsy āĻ­āĻžāĻ˛ā§ āĻŦāĻ˛ā§‡ āĨ¤

ā§Ģ. falsy āĻ“ nullish āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•āĻŋ ?

Falsy value āĻŦāĻ˛āĻ¤ā§‡ 0, "", null, undefined, NaN, false āĻ•ā§‡ āĻŦā§āĻāĻžā§Ÿ āĻāĻŦāĻ‚ nullish value āĻŦāĻ˛āĻ¤ā§‡ null, undefined āĻ•ā§‡ āĻŦā§āĻāĻžā§Ÿ āĨ¤

nullish value āĻŽā§āĻ˛āĻ¤ falsy value āĻāĻ° āĻ¸āĻžāĻŦāĻ¸ā§‡āĻŸ āĨ¤

āĻ“āĻĒāĻžāĻ°ā§‡āĻŸāĻ°
  • falsy value āĻāĻ° āĻœāĻ¨ā§āĻ¯ || āĻĻāĻŋā§Ÿā§‡ āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ
  • nullish value āĻĄāĻŋāĻŸā§‡āĻ•ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ ?? āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§Ÿ
ā§Ŧ. Shallow Copy āĻ“ Deep Copy āĻŦāĻ˛āĻ¤ā§‡ āĻ•āĻŋ āĻŦā§āĻāĻžā§Ÿ?

āĻ•ā§‹āĻ¨ā§‹ Object āĻŦāĻž Array ā§§ āĻ˛ā§‡āĻ­ā§‡āĻ˛ āĻĄāĻŋāĻĒ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡ āĻ¤āĻžāĻ•ā§‡ Shallow Copy āĻŦāĻ˛ā§‡ āĨ¤ āĻ†āĻ° ā§¨ āĻ˛ā§‡āĻ­ā§‡āĻ˛ āĻŦāĻž āĻ¤āĻ¤ā§‹āĻ§āĻŋāĻ• āĻĄāĻŋāĻĒ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡ āĻ¤āĻžāĻ•ā§‡ Deep Copy āĻŦāĻ˛ā§‡ āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻƒ

ā§§. Shallow Copy

āĻāĻ–āĻžāĻ¨ā§‡, original array āĻ•ā§‡ Spread Oparetor āĻĻāĻŋā§Ÿā§‡ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻž āĻšā§Ÿ āĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ origianl array āĻāĻ° āĻŽāĻžāĻā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ†āĻ›ā§‡ āĻ¤āĻžāĻ‡ āĻāĻ–āĻžāĻ¨ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻ•āĻ‡ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ āĻĻāĻŋā§Ÿā§‡ āĻ•āĻĒāĻŋ āĻšā§Ÿā§‡āĻ›ā§‡ āĨ¤ āĻ¤āĻžāĻ‡ āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž original array āĻāĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻ° āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻĒāĻžāĻ°ā§āĻŸāĻŋ āĻšā§‡āĻžā§āĻœ āĻ•āĻ°āĻŦā§‹ āĻ¤āĻ–āĻ¨ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻž array āĻāĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻ° āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ°āĻĒāĻžāĻ°ā§āĻŸāĻŋ āĻšā§‡āĻžā§āĻœ āĻšā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ āĨ¤

ā§¨. Deep Copy

āĻāĻ–āĻžāĻ¨ā§‡, original object āĻ•ā§‡ Spread Oparetor āĻĻāĻŋā§Ÿā§‡ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻž āĻšā§Ÿ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡āĻ° Object āĻ•ā§‡āĻ‰ āĻ†āĻŦāĻžāĻ° Spread Oparetor āĻĻāĻŋā§Ÿā§‡ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻž āĻšā§Ÿā§‡āĻ›ā§‡ āĨ¤ āĻ¤āĻžāĻ‡ āĻāĻĄāĻŋ ā§¨ āĻ˛ā§‡āĻ­ā§‡āĻ˛ āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻšāĻŦāĻžāĻ° āĻĒāĻ°ā§‹ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻ¨ Deeply Copy āĻšā§Ÿā§‡

Tips: āĻ…āĻ¨ā§‡āĻ• āĻ˛ā§‡āĻ­ā§‡āĻ˛ā§‡āĻ° āĻĄāĻŋāĻĒ āĻ•ā§‹āĻ¨ā§‹ Object/Array āĻ¯āĻĻāĻŋ Immutadly āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨

ā§­. Deep Copy āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ JSON.stringify āĻ“ āĻĒāĻ°ā§‡ āĻ†āĻŦāĻžāĻ° JSON.parse āĻ•āĻ°ā§‡ āĻ•āĻ°āĻ˛ā§‡ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ•āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤?

Deep Copy āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ JSON.stringify āĻ“ āĻĒāĻ°ā§‡ āĻ†āĻŦāĻžāĻ° JSON.parse āĻ•āĻ°āĻž āĻšā§Ÿ āĻ¯āĻž āĻ†āĻ¸āĻ˛ā§‡ āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻž āĨ¤

āĻ¯ā§‡āĻŽāĻ¨āĻƒ

āĻ•āĻžāĻ°āĻ¨āĻƒ

  • āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ā§‹ Object āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§‹āĻ¨ā§‹ funtion āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§‡āĻŸāĻŋ JSON.stringify āĻ•āĻ°āĻ˛ā§‡ āĻ¸ā§‡āĻŸāĻŋ String āĻšā§Ÿā§‡ āĻ¯āĻžā§Ÿ āĨ¤ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸāĻŋ āĻĒāĻ°ā§‡ āĻ†āĻŦāĻžāĻ° JSON.parse āĻ•āĻ°āĻ˛ā§‡ āĻ¸ā§‡āĻŸāĻŋ String āĻĨā§‡āĻ•ā§‡ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻšā§Ÿā§‡ āĻ¯āĻžā§Ÿ āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§‡āĻŸāĻŋ funtion āĻšāĻ“ā§ŸāĻž āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§‡āĻ“ āĻ¸ā§‡āĻŸāĻŋ funtion āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž āĨ¤ āĻ•āĻžāĻ°āĻ¨ āĻ¸ā§‡āĻŸāĻŋ String āĻšā§Ÿā§‡ āĻ—ā§‡āĻ›ā§‡ āĨ¤ āĻ¤āĻžāĻ‡ āĻāĻ‡ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻž āĨ¤

  • Object āĻšāĻ˛ā§‹ JavaScript āĻāĻ° āĻŦāĻŋāĻļā§‡āĻˇ āĻĄāĻžāĻŸāĻž āĻŸāĻžāĻ‡āĻĒ , āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻ° āĻĢāĻ˛ā§‡ āĻāĻŸāĻŋ String āĻšā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸāĻŋ āĻĒāĻ°ā§‡ āĻ†āĻŦāĻžāĻ° Object āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻž āĻ…āĻ¨ā§‡āĻ• āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•āĻžāĻ°āĻ¨ āĻāĻ° Prototype āĻ•ā§‡ āĻ¸ā§‡āĻŸāĻŋ āĻšāĻžāĻ°āĻŋā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ āĨ¤

ā§Ž. Event Propagation āĻ“ Event Delations āĻ•āĻžāĻ•ā§‡ āĻŦāĻ˛ā§‡?

Event Propagation

JavaScript-āĻ Event Propagation āĻšāĻ˛ā§‹ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¯āĻž āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĢā§‡āĻœā§‡ āĻ˜āĻŸā§‡: Capturing Phase, Target Phase, āĻāĻŦāĻ‚ Bubbling Phase. āĻāĻ‡ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻĢā§‡āĻœā§‡ āĻ˜āĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻŋāĻ‚ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĨ¤

Event Delations

āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻ‰āĻĒāĻ° āĻāĻ•āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻāĻ‡ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻšāĻžāĻ‡āĻ˛ā§āĻĄ āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻ‰āĻĒāĻ° āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻžāĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻž āĻšā§Ÿ āĻ¤āĻžāĻ•ā§‡ Event Delations āĻŦāĻ˛ā§‡ āĨ¤

ā§¯. Event Bubbling āĻŦāĻ¨āĻžāĻŽ Event Delegations āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•āĻŋ? Ans:
ā§§ā§Ļ. event.target āĻ“ event.currentTarget āĻ“ this.target āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•ā§€ ? Ans:
ā§§ā§§. Single Responsible principal āĻ•āĻžāĻ•ā§‡ āĻŦāĻ˛ā§‡? Ans:
ā§§ā§¨. primitive āĻ“ non-primitive data types āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•āĻŋ? āĻ‰āĻ­ā§Ÿā§‡āĻ° āĻāĻ•āĻŸā§€ āĻ•āĻ°ā§‡ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§‡āĻ“

Ans:

ā§§ā§Š. JavaScript āĻ null and Undefined āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•āĻŋ ?
  • āĻ¨āĻžāĻ˛ āĻāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻ¯ā§‡ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ° āĻ•ā§‹āĻ¨āĻ“ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻ¨āĻ¯āĻŧ
function myFn(obj) {
  if (null == obj) {
    // code
  }
}
  • āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻĒā§āĻ°ā§‹āĻŸā§‹āĻŸāĻžāĻ‡āĻĒ āĻšā§‡āĻ‡āĻ¨ āĻļā§‡āĻˇ āĻšāĻŋāĻ¸āĻžāĻŦā§‡
Object.getPrototypeOf(Object.prototype);
  • āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛āĻŸāĻŋāĻ•ā§‡ āĻ¨āĻžāĻ˛ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°ā§āĻ¨
let o = {
  code: 'abc'
};
o = null;
  • āĻ…āĻĒāĻ°āĻŋāĻļā§‹āĻ§āĻŋāĻ¤ āĻāĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻ˜ā§‹āĻˇāĻŋāĻ¤ āĻšāĻ˛ā§‡āĻ“ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻ¨āĻ¯āĻŧ, āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ
let o;
console.log(o); //undefined
  • āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯ā§‡ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ•āĻ˛ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡āĻ° āĻŽāĻžāĻ¨ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž
function myFn(o) {
  console.log(o);
}
myFn(); //undefined
  • āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ¯āĻž āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸāĻŸāĻŋ āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡ āĻ¨āĻž, āĻŽāĻžāĻ¨āĻŸāĻŋ āĻ¸āĻ‚āĻœā§āĻžāĻžāĻ¯āĻŧāĻŋāĻ¤
let o = {
  code: 'abc'
};
console.log(o.name); //undefined
  • āĻ¯āĻ–āĻ¨ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ•ā§‹āĻ¨āĻ“ āĻŽāĻžāĻ¨ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ¯āĻŧ āĻ¨āĻž, āĻāĻŸāĻŋ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĨāĻžāĻ•ā§‡
function myFn(obj) {
  obj = 'a';
}
console.log(myFn()); //undefined
  • āĻ¨āĻžāĻ˛ āĻāĻŦāĻ‚ undefined āĻŽāĻ§ā§āĻ¯ā§‡ āĻŽāĻŋāĻ˛ āĻŦā§āĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ˛ā§‡ āĻŽāĻŋāĻĨā§āĻ¯āĻž
console.log(Boolean(null)); // false
console.log(Boolean(undefined)); // false

āĻ¨āĻžāĻ˛ āĻāĻŦāĻ‚ undefined āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•ā§‹āĻ¨āĻ“ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻžāĻ¯āĻŧ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ•āĨ¤ āĻ¨āĻžāĻ˛ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°āĻ•āĻ°āĻŖā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛āĻŸāĻŋ 0 āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻŦā§ˆāĻ§ āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŽāĻžāĻ¨ āĻāĻŦāĻ‚ āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ NaN āĻšāĻ¯āĻŧāĨ¤

console.log(Number(null)); // 0
console.log(Number(undefined)); // NaN
  • āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻ§āĻ°āĻ¨ āĻĒā§ƒāĻĨāĻ•, āĻ¨āĻžāĻ˛ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ undefined āĻĒā§āĻ°āĻ•āĻžāĻ°āĻŸāĻŋ undefinedāĨ¤
console.log(typeof null); //object
console.log(typeof undefined); //undefined
  • āĻ¨āĻžāĻ˛ āĻāĻŦāĻ‚ undefined āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨ āĻ¨āĻžāĻ˛ āĻāĻŦāĻ‚ undefined āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ cong āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡, āĻāĻŸāĻŋ āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻ•āĻžāĻ°ā§‡āĻ° āĻ¸āĻŽāĻžāĻ¨ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻž āĻ•āĻ ā§‹āĻ°āĻ­āĻžāĻŦā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻŦā§‡āĨ¤
console.log(Boolean(null == undefined)); // true
console.log(Boolean(null === undefined)); // false
  • āĻ¯ā§‹āĻ—āĻĢāĻ˛

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

ā§§ā§Ē. “ Array, Objects are mutable and string, number, Boolean are immutable “ āĻāĻ–āĻžāĻ¨ā§‡ mutable āĻ“ immutable āĻĻā§āĻŦāĻžāĻ°āĻž āĻ•āĻŋ āĻŦā§āĻāĻžāĻ¨ā§‹ āĻšā§Ÿā§‡āĻ›ā§‡ āĨ¤

Ans:

structuredClone āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ ? āĻ‰āĻƒ

āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸā§€ Object/Array āĻ•ā§‡ Copy āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸āĻžāĻ§āĻžāĻ°āĻ¨āĻ¤ spread operator āĻŦāĻž Slice āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĨ¤

āĻ¯ā§‡āĻŽāĻ¨

const skill = ['html', 'css', 'js'];

const cloneWithSlice = skill.slice();
const cloneSpread = [...skill];

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ†āĻ°āĻ“ āĻ­āĻŋāĻ¤āĻ° āĻ†āĻ°āĻ“ āĻ†āĻŦāĻžāĻ° āĻ•ā§‹āĻ¨ā§‹ Array/Object āĻĨāĻžāĻ•āĻ¤ āĻ¤āĻ–āĻ¨ āĻ¸ā§‡āĻ‡ āĻĒāĻžāĻ°ā§āĻŸ āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ° āĻ†āĻŦāĻžāĻ° Spread āĻĻāĻŋā§Ÿā§‡ āĻ•āĻ°āĻž āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ Deep Copy āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ˛ā§‡ āĨ¤

āĻ¸āĻšāĻœā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸āĻŦāĻžāĻ‡ Immer āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ āĻĨāĻžāĻ°ā§āĻĄ āĻĒāĻžāĻ°ā§āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĨ¤ āĻ¤āĻŦā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ JavaScript āĻāĻ° āĻŦāĻŋāĻ˛ā§āĻĄ āĻ‡āĻ¨ āĻŽā§‡āĻĨāĻĻ āĻ†āĻ›ā§‡ āĻ¯āĻž āĻĻāĻŋā§Ÿā§‡ āĻ¸āĻšāĻœā§‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĨ¤

const person = {
  name: 'yeasin',
  skill: ['typeScript', 'react']
};

const cloneWithStructured = structuredClone(person);
structuredClone(value);
structuredClone(value, options);

Reference

Warning:

  • āĻāĻŸāĻŋ ES2022 āĻāĻ° āĻĢāĻŋāĻšāĻžāĻ° āĻ¤āĻžāĻ‡ Node 17+ āĻ“ āĻ˛ā§‡āĻŸā§‡āĻ¸ā§āĻŸ āĻŦā§āĻ°āĻžāĻ‰āĻœāĻžāĻ°ā§‡ āĻ¸āĻžāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§‡ āĻļā§āĻ§ā§ āĨ¤ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ TypeScript āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ Perser āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ˛ā§‡ āĻ¤āĻ–āĻ¨ āĻāĻŸāĻŋ āĻšāĻžāĻ‡āĻ˛ā§‡ āĻ†āĻ—ā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ JS Verson āĻ āĻ•āĻ¨āĻ­āĻžāĻ°ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĨ¤
  • āĻ•ā§‹āĻ¨ā§‹ Object āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¯āĻĻāĻŋ functions āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§‡āĻŸāĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻŸāĻŋ Deep Copy āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž

TypeScript

ā§§. any āĻ“ unknown āĻāĻ° āĻŽāĻžāĻā§‡ āĻ•āĻŋ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•āĻŋ ?

āĻ‰āĻƒ any āĻāĻŦāĻ‚ unknown āĻ‰āĻ­āĻ¯āĻŧāĻ‡ TypeScript āĻāĻ° āĻŦāĻŋāĻļā§‡āĻˇ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŸāĻžāĻ‡āĻĒ āĻ¯āĻž āĻ¯ā§‡ āĻ•ā§‹āĻ¨ variable āĻ āĻĄāĻŋāĻ•ā§āĻ˛ā§‡ā§ŸāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ , āĻ¤āĻŦā§‡ āĻāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ:

  • any : āĻāĻ‡ āĻŸāĻžāĻ‡āĻĒāĻŸāĻŋ TypeScript Officially āĻ¨āĻŋāĻœā§‡āĻ°āĻž Recommend āĻ•āĻ°ā§‡ āĻ¨āĻž āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ any āĻŸāĻžāĻ‡āĻĒā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ¸āĻŽāĻ¯āĻŧ āĻšā§‡āĻ• āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻāĻ•āĻŸāĻŋ any āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸāĻžāĻ‡āĻĒ āĻšā§‡āĻ•āĻŋāĻ‚ āĻĨā§‡āĻ•ā§‡ āĻŦāĻžāĻĻ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻŽāĻ¤ā§‹āĨ¤

  • unknown : āĻāĻ‡ āĻŸāĻžāĻ‡āĻĒāĻŸāĻŋ any āĻāĻ° āĻŸāĻžāĻ‡āĻĒ-āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĨ¤ āĻāĻ•āĻŸāĻŋ unknown āĻŸāĻžāĻ‡āĻĒā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻž āĻ¯āĻžāĻŦā§‡ , āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻ° āĻŸāĻžāĻ‡āĻĒ āĻšā§‡āĻ•āĻŋāĻ‚ āĻ¨āĻž āĻ•āĻ°āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ unknown āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡, āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ / āĻŦāĻžāĻ¨āĻžāĻ¤ā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻž āĻ¯ā§‡ āĻ•ā§‹āĻ¨ expresstions āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž (āĻ¸āĻŽāĻžāĻ¨āĻ¤āĻž āĻšā§‡āĻ• āĻ›āĻžāĻĄāĻŧāĻž)āĨ¤

ā§§. TypeScript generics āĻāĻ° default value āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĻā§‡ā§ŸāĻž āĻ¯āĻžā§Ÿ ?

āĻ‰āĻƒ any āĻāĻŦāĻ‚ unknown āĻ‰āĻ­āĻ¯āĻŧāĻ‡ TypeScript āĻāĻ° āĻŦāĻŋāĻļā§‡āĻˇ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻŸāĻžāĻ‡āĻĒ āĻ¯āĻž āĻ¯ā§‡ āĻ•ā§‹āĻ¨ variable āĻ āĻĄāĻŋāĻ•ā§āĻ˛ā§‡ā§ŸāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ , āĻ¤āĻŦā§‡ āĻāĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ:

  • any : āĻāĻ‡ āĻŸāĻžāĻ‡āĻĒāĻŸāĻŋ TypeScript Officially āĻ¨āĻŋāĻœā§‡āĻ°āĻž Recommend āĻ•āĻ°ā§‡ āĻ¨āĻž āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ any āĻŸāĻžāĻ‡āĻĒā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ¸āĻŽāĻ¯āĻŧ āĻšā§‡āĻ• āĻ›āĻžāĻĄāĻŧāĻžāĻ‡ āĻāĻ•āĻŸāĻŋ any āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŸāĻžāĻ‡āĻĒ āĻšā§‡āĻ•āĻŋāĻ‚ āĻĨā§‡āĻ•ā§‡ āĻŦāĻžāĻĻ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻŽāĻ¤ā§‹āĨ¤

  • unknown : āĻāĻ‡ āĻŸāĻžāĻ‡āĻĒāĻŸāĻŋ any āĻāĻ° āĻŸāĻžāĻ‡āĻĒ-āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĨ¤ āĻāĻ•āĻŸāĻŋ unknown āĻŸāĻžāĻ‡āĻĒā§‡ āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻŽāĻžāĻ¨ āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻž āĻ¯āĻžāĻŦā§‡ , āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‹āĻ¨ āĻĒā§āĻ°āĻ•āĻžāĻ° āĻŸāĻžāĻ‡āĻĒ āĻšā§‡āĻ•āĻŋāĻ‚ āĻ¨āĻž āĻ•āĻ°āĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ unknown āĻŸāĻžāĻ‡āĻĒā§‡āĻ° āĻ¯ā§‡ āĻ•ā§‹āĻ¨ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡, āĻ¤āĻžāĻĻā§‡āĻ° āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ / āĻŦāĻžāĻ¨āĻžāĻ¤ā§‡ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻž āĻ¯ā§‡ āĻ•ā§‹āĻ¨ expresstions āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž (āĻ¸āĻŽāĻžāĻ¨āĻ¤āĻž āĻšā§‡āĻ• āĻ›āĻžāĻĄāĻŧāĻž)āĨ¤

React.js

ā§§. React āĻ“ React-DOM āĻ•ā§€? Website āĻŦāĻžāĻ¨āĻžāĻ¤ā§‡ ā§¨āĻŸāĻŋ āĻ†āĻ˛āĻžāĻĻāĻž āĻ†āĻ˛āĻžāĻĻāĻž āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ āĻ•ā§‡āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšā§Ÿ?

React.js āĻŦāĻ˛āĻ¤ā§‡ React āĻ“ React-DOM āĻāĻ° āĻ¸āĻŽāĻ¨ā§āĻŦā§Ÿā§‡ āĻāĻ•āĻŸāĻž āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŦā§āĻāĻžā§Ÿ āĨ¤ āĻ¯āĻĻāĻŋāĻ“ ā§¨āĻŸāĻŋ āĻ†āĻ˛āĻžāĻĻāĻž āĻ†āĻ˛āĻĻāĻž āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻ°āĻžāĻ–ā§‡ āĨ¤

React : āĻāĻŸāĻŋ āĻŽā§‚āĻ˛āĻ¤ JavaScript āĻ“ā§Ÿā§‡āĻŦ āĻ“ āĻ…ā§āĻ¯āĻžāĻĒ āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ“ āĻ•āĻžāĻšāĻžāĻŽāĻžāĻ˛ āĻŦāĻ˛āĻž āĻ¯āĻžā§Ÿ āĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ°āĻŋā§Ÿā§‡āĻ•ā§āĻŸ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻ§āĻžāĻ°āĻŖ āĻ•āĻ°ā§‡ āĨ¤

React-DOM : Browser DOM āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ•āĻĒāĻŋ āĻŦāĻž āĻļā§‡āĻĄā§‹ āĻĄāĻŽ āĨ¤ āĻŽā§‚āĻ˛āĻ¤ React āĻ āĻ•ā§‹āĻ¨ā§‹ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§‡ āĻ¸ā§‡āĻŸāĻŋ āĻ†āĻ—ā§‡ Virtual-DOM (V-DOM) āĻ āĻ¸ā§‡āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻž āĻĄāĻŋāĻĢāĻŋāĻ‚ āĻŦāĻž āĻ°āĻŋ- āĻ•āĻ¨āĻ¸āĻžāĻ˛ā§‡āĻ¸āĻļāĻ¨ āĻāĻ˛āĻ—ā§‹āĻ°āĻŋāĻĻāĻŽ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•ā§‹āĻ¨ component āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšā§Ÿā§‡āĻ›ā§‡ āĻ¸ā§‡āĻŸāĻŋ āĻāĻ‡ āĻ–āĻ¸ā§œāĻž āĻĄāĻŽā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻāĻ°āĻĒāĻ° āĻ¸āĻžāĻ°āĻ°ā§āĻœāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŽā§‚āĻ˛ āĻĄāĻŽā§‡ āĻĒāĻ°āĻŋāĻ°āĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡
ā§¨. “React is Reactive ” āĻāĻ‡āĻŸāĻŋ āĻĻā§āĻŦāĻžāĻ°āĻž React āĻ•āĻŋ āĻŦā§āĻāĻžāĻ¤ā§‡ āĻšāĻžāĻšā§āĻ›ā§‡?

React āĻāĻ° āĻ•ā§‹āĻ¨ā§‹ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ Component Re-render āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ Updated Sate āĻŸāĻŋ Brower DOM āĻ Automatically āĻĒāĻ°āĻŋāĻ°āĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĨ¤ āĻ¤āĻžāĻ‡ āĻŦāĻ˛ā§‡ āĻšā§Ÿ āĻ°āĻŋā§Ÿā§‡āĻ•ā§āĻŸ āĻ°āĻŋā§Ÿā§‡āĻ•ā§āĻŸāĻŋāĻ­ āĻŽāĻžāĻ¨ā§‡ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻ¤āĻž āĻ°āĻŋā§Ÿā§‡āĻ•ā§āĻŸ āĻ•āĻ°ā§‡ āĻ“ āĻ¤āĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻŽā§‚āĻ˛ āĻĄāĻŽā§‡ āĻ°āĻŋāĻĢāĻ˛ā§‡āĻ•ā§āĻŸ āĻ•āĻ°ā§‡

ā§Š. HTML,CSS āĻāĻ° āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ‚ āĻĒā§āĻ°ā§‹āĻ¸ā§‡āĻ¸ āĻ•āĻŋ āĻ•āĻŋ? Ans:
ā§Ē. React State Update āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ Batch Update āĻŦāĻ˛āĻ¤ā§‡ āĻ•āĻŋ āĻŦā§āĻāĻžā§Ÿ ?

React āĻāĻ° āĻ•ā§‹āĻ¨ā§‹ State Update āĻšāĻ˛ā§‡ āĻ¤āĻž āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻŽā§‚āĻ˛ āĻĄāĻŽā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ°āĻŋāĻĢāĻ˛ā§‡āĻ•ā§āĻŸ āĻ•āĻ°ā§‡ āĻ¨āĻž āĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻāĻ•āĻ¤ā§āĻ°ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ Sate āĻ¸āĻŽā§‚āĻš āĻŽā§‚āĻ˛ āĻĄāĻŽā§‡ Update āĻ•āĻ°ā§‡ āĨ¤

āĻ…āĻ¨ā§‡āĻ• State āĻāĻ•āĻ¤ā§āĻ°ā§‡ āĻ—ā§āĻ°ā§āĻĒ āĻ†āĻ•āĻžāĻ°ā§‡ update āĻ•āĻ°āĻžāĻ•ā§‡āĻ‡ Batch Update āĻŦāĻ˛āĻž āĻšā§Ÿ āĨ¤

ā§Ģ. āĻāĻ•āĻžāĻ§āĻŋāĻ• DOM Operations āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ Browser DOM āĻ•āĻŋ āĻ†āĻ¸āĻ˛ā§‡āĻ‡ Slow? āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ React āĻ•āĻŋāĻ­āĻžāĻŦā§‡ DOM Operations Optimize āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĨ¤

Browser DOM Operations Slow āĻ¨ā§Ÿ āĻ¤āĻŦā§‡ āĻĒāĻžāĻ°ā§āĻ¸āĻŋāĻ¨āĻ‚ āĻĨā§‡āĻ•ā§‡ Display āĻĒāĻžāĻ°ā§āĻŸ āĻĒā§āĻ°āĻ¤āĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšā§Ÿ āĨ¤ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ React.js Batch Update āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ•āĻ¤ā§āĻ°ā§‡ āĻ¸āĻŦ State update āĻ•āĻ°ā§‡ āĨ¤

āĻĢāĻ˛ā§‡ āĻ•āĻŽ āĻ“āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻšā§Ÿ āĻ¸ā§‡āĻŸāĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•āĻŽ Parsing and Display process āĻĨāĻžāĻ•āĻžā§Ÿ DOM Optimize āĻšā§Ÿ

ā§Ŧ. āĻĄāĻŋāĻĢāĻŋāĻ‚ āĻŦāĻž āĻ°āĻŋ- āĻ•āĻ¨āĻ¸āĻžāĻ˛ā§‡āĻ¸āĻļāĻ¨ āĻāĻ˛āĻ—ā§‹āĻ°āĻŋāĻĻāĻŽ āĻ•āĻžāĻ•ā§‡ āĻŦāĻ˛ā§‡? āĻāĻŦāĻ‚ React-DOM āĻāĻŸāĻŋāĻ•ā§‡ āĻ•ā§‹āĻ¨ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ ? Application āĻāĻ° āĻ•ā§‹āĻ¨ā§‹ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§‡ āĻ¸ā§‡āĻŸāĻŋ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻŸā§āĻ°āĻŋ āĻāĻ° āĻŽāĻžāĻā§‡ āĻ–ā§āĻœāĻā§‡ āĻ¤āĻž āĻŽā§‚āĻ˛ āĻĄāĻŽā§‡ āĻ¤āĻž update āĻ•āĻ°āĻ¤ā§‡ Diffing Algorithm āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§Ÿ āĨ¤

āĻŽā§‚āĻ˛āĻ¤, āĻ°āĻŋā§Ÿā§‡āĻ•ā§āĻŸ āĻāĻ•āĻŸāĻŋ Component Tree āĻŦāĻž Render Tree āĻŽā§‡āĻ‡āĻ¨ā§āĻŸāĻžāĻ‡āĻ¨ āĻ•āĻ°ā§‡ āĨ¤ āĻ¤āĻžāĻ‡ āĻ•ā§‹āĻ¨ā§‹ Component āĻ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§‡ āĻ¸ā§‡āĻ‡ Component āĻŸāĻŋ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻŸā§āĻ°āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ–ā§āĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯ā§‡ Algorithm āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¤āĻžāĻ•ā§‡ āĻĄāĻŋāĻĢāĻŋāĻ‚ āĻŦāĻž āĻ°āĻŋ- āĻ•āĻ¨āĻ¸āĻžāĻ˛ā§‡āĻ¸āĻļāĻ¨ āĻāĻ˛āĻ—ā§‹āĻ°āĻŋāĻĻāĻŽ āĻŦāĻ˛ā§‡ āĨ¤

ā§­. React Component āĻāĻ° āĻ¨āĻžāĻŽ Capital Letter āĻĻāĻŋā§ŸāĻž āĻļā§āĻ°ā§ āĻ•ā§‡āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšā§Ÿ ? Application āĻāĻ° function JSX āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ†āĻŦāĻžāĻ° āĻ…āĻ¨ā§āĻ¯ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĨ¤

āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•ā§‹āĻ¨āĻŸāĻŋ JSX āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ , āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻ•ā§‹āĻ¨āĻŸā§€ āĻ•ā§‹āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻ†āĻ° āĻ•ā§‹āĻ¨āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ function āĻ¤āĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻ¨ā§Ÿā§‡āĻ° āĻœāĻ¨ā§āĻ¯ Component āĻāĻ° āĻ¨āĻžāĻŽā§‡ Capital Letter āĻĻāĻŋā§Ÿā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšā§Ÿ āĨ¤

ā§Ž. “Props are Immutable” āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ•āĻŋ ?

Immutable āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻ¨āĻ¤ modifications āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻ¨āĻž āĻāĻŽāĻ¨ āĻŦā§āĻāĻžā§Ÿ āĻ¤āĻŦā§‡ Replace āĻ•āĻ°āĻž āĻ¯āĻžāĻŦā§‡ āĻāĻŽāĻ¨ āĨ¤ React Components āĻāĻ° Props āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻāĻ•āĻŸāĻŋ Object āĻĒā§‡ā§Ÿā§‡ āĻĨāĻžāĻ•āĻŋ āĨ¤

āĻ¯ā§‡āĻŽāĻ¨āĻƒ

**export const ReactComponentsDemo = (props) => {
 const {name,id} = props;

  return <div >index</div>;
};**

āĻāĻ‡ Props āĻ¨āĻžāĻŽā§‡āĻ° Object a āĻ†āĻŽāĻ°āĻž name, id āĻĒāĻžāĻšā§āĻ›āĻŋ āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻāĻŽāĻ¨ āĻ§āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ,

{
id: 1,
name: "yeasin",
}

āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•ā§‹āĻ¨ā§‹ āĻ•āĻžāĻ°āĻ¨ā§‡ āĻŦāĻž āĻ•ā§‹āĻ¨ā§‹ event āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ state āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšā§Ÿā§‡ name = “md kawsar islam yeasin ” āĻšā§Ÿā§‡ āĻ—ā§‡āĻ˛ āĨ¤

āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻŽāĻ¨ā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ update āĻšāĻŦāĻžāĻ° āĻ•āĻžāĻ°āĻ¨ā§‡ name āĻāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŦā§‡ props āĻāĻ°, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ Props are immutable āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻŦā§āĻāĻžā§Ÿ āĻāĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§‡ āĻĒāĻ°āĻŦāĻ°āĻ°ā§āĻ¤ā§€ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°ā§‡ āĻ†āĻŦāĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻāĻ•āĻŸ object āĻĒāĻžāĻŦā§‡ āĨ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° updated value āĻŸāĻž āĻ¨ā§Ÿ

āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ°āĻŋ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°ā§‡ props āĻšāĻŦā§‡

{
id: 1,
name: "md kawar islam  yeasin",
}
ā§¯. JSX Components āĻ•ā§‡ āĻ•ā§‡āĻ¨ āĻ•ā§‹āĻ¨ā§‹ āĻĒā§āĻ¯āĻžāĻ°ā§‡āĻ¨ā§āĻŸ āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻŦāĻž Fragment āĻĻāĻŋā§Ÿā§‡ Wrap āĻ•āĻ°āĻ¤ā§‡ āĻšā§Ÿ ?

React Component JSX āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡ āĨ¤ JSX āĻŽā§‚āĻ˛āĻ¤ āĻāĻ•āĻŸāĻŋ Object āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋāĻŸā§€ html tag Object āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻļā§‡āĻˇā§‡ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°ā§‡ āĨ¤

āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ, āĻ•ā§‹āĻ¨ā§‹ function āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¤ā§āĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡ āĨ¤

āĻ¤āĻžāĻ‡ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¤ā§āĻ° element āĻŦāĻž Fragment āĻĻāĻŋā§ŸāĻž Wrap āĻ•āĻ°āĻž āĻĨāĻžāĻ•ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ Object āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻžāĻ•āĻŋ āĻ¸āĻŦ element āĻ—ā§āĻ˛ā§‹ nested object āĻ†āĻ•āĻžāĻ°ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ“ āĻ¤āĻž āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡ āĨ¤

ā§§ā§Ļ. React āĻ List āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ˛ā§‡ Array.prototype.map āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§ŸāĨ¤ map āĻŦā§āĻ¯āĻžāĻ¤āĻŋāĻ¤ forEach,for loop,while loop āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡āĻ“ āĻ•āĻŋ List āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ ? āĻšā§āĻ¯āĻž āĻšāĻ˛ā§‡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡? ### List Render āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž map āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•āĻŋ āĨ¤

āĻ¯ā§‡āĻŽāĻ¨āĻƒ

import { Fragment } from "react";
import { Component1, Component2, Component3 } from "./Components";

const App = () => {
  const list = [Component1, Component2, Component3];
  return (
    <div>
      <h1>App</h1>
      {list.map((Val, index) => {
        return (
          <Fragment key={index}>
            <Val /> {/* āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ JSX Component āĻāĻ–āĻžāĻ¨ā§‡  Call āĻšāĻšā§āĻ›ā§‡  */}
          </Fragment>
        );
      })}
    </div>
  );

āĻ†āĻŽāĻ°āĻž Array.prototype.map āĻ•ā§‡āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ ?

React āĻāĻ° āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻžāĻ‡ JSX Return āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ function āĻŦāĻž React āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĨ¤

āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ map āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ modified array āĻ°āĻŋāĻŸāĻžāĻ°ā§āĻ¨ āĻ•āĻ°ā§‡ āĨ¤ āĻ¯āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ UI āĻāĻ° āĻŽāĻžāĻā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĨ¤ āĻ‰āĻĒāĻ°ā§‡āĻ° Examples āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ Array.prototype.map āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžā§Ÿ list āĻāĻ° modified āĻāĻ•āĻŸāĻŋ Array of Components āĻ†āĻŽāĻ°āĻž āĻĒāĻžāĻ‡ āĻ¯āĻž React āĻ¤āĻž āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ UI āĻ¤ā§‡ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻ›ā§‡ āĨ¤

map āĻ›āĻžā§œāĻž āĻ…āĻ¨ā§āĻ¯ method āĻšāĻžāĻ‡āĻ˛ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ āĨ¤

āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻ•āĻŸā§ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĨ¤ UI āĻ¤ā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡ āĻ¨āĻž āĨ¤ āĻ¤āĻžāĻ‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ Array āĻŦāĻž List āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻŦ Component āĻ—ā§āĻ˛ā§‹ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡ āĨ¤ āĻāĻŦāĻ‚ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•ā§‹āĻ¨ā§‹ key āĻĻāĻŋāĻ¤ā§‡ āĻšāĻŦā§‡ āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻƒ

export const App = () => {
  const data = ['Item 1', 'Item 2', 'Item 3'];
  const items = [];

  data.forEach((item, index) => {
    items.push(<li key={index}>{item}</li>);
  });

  return <ul>{items}</ul>;
};

export default MyComponent;
ā§§ā§§. List āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ element āĻ•ā§‡ āĻ•ā§‡āĻ¨ āĻ†āĻ˛āĻžāĻĻāĻž āĻ†āĻ˛āĻžāĻĻāĻž key āĻĻāĻŋāĻ¤ā§‡ āĻšā§Ÿ ? āĻ¯āĻĻāĻŋ key āĻ¨āĻž āĻĻā§‡ā§ŸāĻž āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ default āĻ­āĻžāĻŦā§‡ āĻ•āĻŋ āĻ•ā§€ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ¨ā§‡ā§Ÿ?

React āĻ List Render āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ element āĻ•ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ†āĻ˛āĻžāĻĻāĻž key āĻĻāĻŋāĻ¤ā§‡ āĻšā§Ÿ āĨ¤ āĻ¯āĻĻāĻŋ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻžāĻ° key āĻ¨āĻž āĻĻā§‡ā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻŸāĻŋ Default āĻ­āĻžāĻŦā§‡ Index āĻ•ā§‡ key āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ¨āĻŋā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡ āĨ¤

index āĻ•ā§‡ key āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻĻā§‡ā§ŸāĻž āĻ•ā§‡āĻ¨ āĻ‰āĻšāĻŋāĻ¤ āĻ¨ā§Ÿ ?

index āĻ•ā§‡ āĻ¯āĻĻāĻŋ key āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻĻā§‡āĻ‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĨ¤ āĻ¯ā§‡āĻŽāĻ¨āĻƒ

āĻ§āĻ°āĻŋ,

  1. List of Components āĻ¯āĻž map āĻ•āĻ°ā§‡ UI āĻ¤ā§‡ āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻšāĻ˛ āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ elements āĻāĻ° key āĻ¤āĻžāĻĻā§‡āĻ° index āĻ•ā§‡ āĻĻā§‡ā§ŸāĻž āĻšāĻ˛ āĨ¤
  2. onClick āĻ•ā§‹āĻ¨ā§‹ event āĻ ā§§āĻŽ index āĻāĻ° Component āĻ•ā§‡ remove āĻ•āĻ°āĻž āĻšāĻ˛ āĨ¤
  3. āĻāĻ–āĻ¨ ā§¨ā§Ÿ element āĻŸāĻŋ āĻšā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ ā§§āĻŽ element āĨ¤ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ array āĻāĻ° ā§§āĻŽ elements āĻŸāĻŋ remove āĻ•āĻ°āĻž āĻšā§Ÿā§‡āĻ›ā§‡ āĻ¤āĻžāĻ‡ ā§¨ā§ŸāĻŸāĻŋāĻ° index āĻšāĻŦā§‡ ā§§āĻŽ āĻŸāĻŋāĻ° index āĻ…āĻ°ā§āĻĨāĻžā§Ž 1 .
  4. āĻ°āĻŋā§Ÿā§‡āĻ•ā§āĻŸ āĻŽā§‚āĻ˛āĻ¤ index āĻĻāĻŋā§Ÿā§‡ āĻŸā§āĻ°āĻžāĻ• āĻ°āĻžāĻ–ā§‡ āĨ¤ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ React āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŸā§āĻ°āĻžāĻ• āĻ°āĻžāĻ–āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡ āĻ¨āĻž āĨ¤ āĻ•āĻžāĻ°āĻ¨ āĻ¤āĻžāĻ° āĻ…āĻ¨ā§āĻ¯āĻžā§Ÿā§€ 1 index āĻ“āĻ˛āĻž Component āĻŸāĻŋ remove āĻ•āĻ°āĻž āĻšā§Ÿā§‡āĻ›ā§‡ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ–āĻ¨ āĻ†āĻŦāĻžāĻ° āĻ†āĻŦāĻžāĻ° āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻ†āĻŦāĻžāĻ° 1 index āĻāĻ° āĻ•ā§‹āĻ¨ā§‹ component āĻ†āĻ›ā§‡ āĨ¤ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ React āĻ•āĻ¨āĻĢāĻŋāĻ‰āĻ¸āĻĄ āĻšā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ āĨ¤
  5. āĻāĻ¸āĻ˛ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ Wired Behave āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĨ¤
ā§§ā§¨. React Component āĻ•āĻŋāĻ­āĻžāĻŦā§‡ Pure Component āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ ? Ans:
ā§§ā§Š. React Dev Mood āĻ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ ā§¨ āĻ­āĻžāĻ° āĻ°āĻŋ-āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§‡āĻ¨ ?

React Development mood āĻ āĻ•ā§‹āĻ¨ā§‹ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§‡ āĻ¸ā§‡āĻ‡ component āĻ“ āĻāĻ° āĻ¸āĻ•āĻ˛ Child components āĻ•ā§‡ re-render āĻ•āĻ°ā§‡ āĨ¤

āĻ¤āĻŦā§‡ Dev Mood āĻ āĻāĻŸāĻŋ ā§¨ āĻŦāĻžāĻ° āĻ•āĻ°ā§‡ āĨ¤

ReactDOM.createRoot(document.getElementById('root')).render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

āĻŽā§‚āĻ˛āĻ¤ main.jsx āĻ†āĻŽāĻ°āĻž React.StrictMode āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ Behavior āĻĒā§‡ā§Ÿā§‡ āĻĨāĻžāĻ•āĻŋāĨ¤

āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ React āĻĒā§āĻ°āĻŸāĻŋāĻ¤āĻŋ component āĻ“ āĻāĻ° āĻ¸āĻ•āĻ˛ Child components āĻ•ā§‡ ā§¨ āĻŦāĻžāĻ° re-render āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ Module Dependency Tree āĻāĻ° āĻ•ā§‹āĻĨāĻžā§Ÿ āĻ•ā§‹āĻ¨ Error āĻšā§Ÿā§‡āĻ›ā§‡ āĻ¤āĻž āĻšā§‡āĻ• āĻ•āĻ°ā§‡ āĨ¤

āĻāĻ° āĻĢāĻ˛ā§‡ āĻ•ā§‹āĻ¨ā§‹ error āĻšāĻ˛ā§‡ āĻ‰āĻ•ā§āĻ¤ file āĻ“ āĻ•āĻ¤ āĻ¨āĻžāĻŽā§āĻŦāĻžāĻ° āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻšā§Ÿā§‡āĻ›ā§‡ āĻ¤āĻž show āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĨ¤

āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ Production Deployment āĻāĻ° āĻĒāĻ° āĻ†āĻ° āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻž āĨ¤

ā§§ā§Ē. Local āĻ“ Global Component Mutation āĻŦāĻ˛āĻ¤ā§‡ āĻ•āĻŋ āĻŦā§āĻāĻžā§Ÿ ?

React Development mood āĻ āĻ•ā§‹āĻ¨ā§‹ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§‡ āĻ¸ā§‡āĻ‡ component āĻ“ āĻāĻ° āĻ¸āĻ•āĻ˛ Child components āĻ•ā§‡ re-render āĻ•āĻ°ā§‡ āĨ¤

āĻ¤āĻŦā§‡ Dev Mood āĻ āĻāĻŸāĻŋ ā§¨ āĻŦāĻžāĻ° āĻ•āĻ°ā§‡ āĨ¤

ReactDOM.createRoot(document.getElementById('root')).render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

āĻŽā§‚āĻ˛āĻ¤ main.jsx āĻ†āĻŽāĻ°āĻž React.StrictMode āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ Behavior āĻĒā§‡ā§Ÿā§‡ āĻĨāĻžāĻ•āĻŋāĨ¤

āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ React āĻĒā§āĻ°āĻŸāĻŋāĻ¤āĻŋ component āĻ“ āĻāĻ° āĻ¸āĻ•āĻ˛ Child components āĻ•ā§‡ ā§¨ āĻŦāĻžāĻ° re-render āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ Module Dependency Tree āĻāĻ° āĻ•ā§‹āĻĨāĻžā§Ÿ āĻ•ā§‹āĻ¨ Error āĻšā§Ÿā§‡āĻ›ā§‡ āĻ¤āĻž āĻšā§‡āĻ• āĻ•āĻ°ā§‡ āĨ¤

āĻāĻ° āĻĢāĻ˛ā§‡ āĻ•ā§‹āĻ¨ā§‹ error āĻšāĻ˛ā§‡ āĻ‰āĻ•ā§āĻ¤ file āĻ“ āĻ•āĻ¤ āĻ¨āĻžāĻŽā§āĻŦāĻžāĻ° āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻšā§Ÿā§‡āĻ›ā§‡ āĻ¤āĻž show āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĨ¤

āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ Production Deployment āĻāĻ° āĻĒāĻ° āĻ†āĻ° āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻž āĨ¤

ā§§ā§Ģ. Components Hydration āĻŦāĻ˛āĻ¤ā§‡ āĻ•āĻŋ āĻŦā§āĻāĻžā§Ÿ ? Ans:
ā§§ā§Ŧ. React Side Effect āĻ•āĻŋ? Side Effect āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽ āĻ•āĻŋ āĻ•āĻŋ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡?

React Development mood āĻ āĻ•ā§‹āĻ¨ā§‹ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§‡ āĻ¸ā§‡āĻ‡ component āĻ“ āĻāĻ° āĻ¸āĻ•āĻ˛ Child components āĻ•ā§‡ re-render āĻ•āĻ°ā§‡ āĨ¤

āĻ¤āĻŦā§‡ Dev Mood āĻ āĻāĻŸāĻŋ ā§¨ āĻŦāĻžāĻ° āĻ•āĻ°ā§‡ āĨ¤

ReactDOM.createRoot(document.getElementById('root')).render(
  <React.StrictMode>
    <App />
  </React.StrictMode>
);

āĻŽā§‚āĻ˛āĻ¤ main.jsx āĻ†āĻŽāĻ°āĻž React.StrictMode āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ Behavior āĻĒā§‡ā§Ÿā§‡ āĻĨāĻžāĻ•āĻŋāĨ¤

āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ React āĻĒā§āĻ°āĻŸāĻŋāĻ¤āĻŋ component āĻ“ āĻāĻ° āĻ¸āĻ•āĻ˛ Child components āĻ•ā§‡ ā§¨ āĻŦāĻžāĻ° re-render āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ Module Dependency Tree āĻāĻ° āĻ•ā§‹āĻĨāĻžā§Ÿ āĻ•ā§‹āĻ¨ Error āĻšā§Ÿā§‡āĻ›ā§‡ āĻ¤āĻž āĻšā§‡āĻ• āĻ•āĻ°ā§‡ āĨ¤

āĻāĻ° āĻĢāĻ˛ā§‡ āĻ•ā§‹āĻ¨ā§‹ error āĻšāĻ˛ā§‡ āĻ‰āĻ•ā§āĻ¤ file āĻ“ āĻ•āĻ¤ āĻ¨āĻžāĻŽā§āĻŦāĻžāĻ° āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻšā§Ÿā§‡āĻ›ā§‡ āĻ¤āĻž show āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĨ¤

āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ Production Deployment āĻāĻ° āĻĒāĻ° āĻ†āĻ° āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻž āĨ¤

ā§§ā§­. Immutably āĻ•ā§‹āĻ¨ā§‹ Array/Object of State āĻāĻ° āĻ•ā§‹āĻ¨ā§‹ element Add, delete and update āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ ?

āĻ§āĻ°āĻŋ,

āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸ Array Of Object āĻ¨ā§‡ā§ŸāĻž āĻšāĻ˛āĨ¤

āĻ¯āĻžāĻ° initial value { id: 1, name: "yeasin"}

const [arr, setArr] = useState([{ id: 1, name: 'yeasin' }]);

āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ element Add āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ˛ā§‡ āĨ¤

const newArr = [...arr, { id: 2, name: 'kawsar' }];
setArr(newArr);

āĻ§āĻžāĻĒāĻ¸āĻŽā§‚āĻš,

  1. arr āĻāĻ° āĻ¸āĻ•āĻ˛ element āĻ—ā§āĻ˛ā§‹ newArr āĻāĻ° spread Operator āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ Copy āĻ•āĻ°ā§‡ āĻ¨ā§‡ā§ŸāĻž āĻšāĻ˛ā§‹
  2. āĻāĻŦāĻ‚ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻžāĻĨā§‡āĻ‡ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ•āĻŸāĻŋ element āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ˛ āĨ¤
  3. setArr āĻāĻ° caller function āĻ āĻ¨āĻ¤ā§āĻ¨ Array āĻŸāĻŋ āĻĻāĻŋā§Ÿā§‡ āĻĻā§‡ā§ŸāĻž āĻšāĻ˛ āĨ¤
  4. āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻ—ā§‡āĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ°ā§‡āĻŽā§āĻ­ āĻšāĻŦā§‡ āĻ“ āĻ¨āĻ¤ā§āĻ¨ newArr āĻāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§āĻŸāĻŋ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ state āĻšāĻŦā§‡ āĨ¤

āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ element Delete āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ˛ā§‡ āĨ¤

const deletedArr = arr.filter(val => val.id !== 1);
setArr(deletedArr);

āĻ§āĻ°āĻŋ, ā§§ āĻ¨āĻ‚ ID element āĻ•ā§‡ Delete āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ ,

āĻ§āĻžāĻĒāĻ¸āĻŽā§‚āĻš,

  1. āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ state āĻ…āĻ°ā§āĻĨāĻžā§Ž arr āĻāĻ° āĻ‰āĻĒāĻ° filter āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĨ¤
  2. āĻ¯ā§‡ element āĻāĻ° id ā§§ āĻ¸ā§‡āĻŸ āĻ›āĻžā§œāĻž āĻŦāĻžāĻ•āĻŋ element āĻ—ā§āĻ˛ā§‹ Array āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻŦā§‹
  3. setArr āĻ deletedArr āĻŸāĻŋ āĻĻāĻŋā§Ÿā§‡ āĻĻā§‡āĻ‡āĨ¤ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻ—ā§‡āĻ° State āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻāĻ‡ deletedArr āĻŸāĻŋ arr value āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ—āĻ¨ā§āĻ¯ āĻšāĻŦā§‡ āĨ¤
ā§§ā§Ž. React āĻāĻ° āĻ•ā§‹āĻ¨ event āĻŸāĻŋ Bubbling āĻšā§Ÿ āĻ¨āĻž ?

React āĻāĻ° Scroll āĻŦāĻž onScroll event event Bubbling āĻšā§Ÿ āĻ¨āĻž āĨ¤

ā§§ā§¯. Declarative āĻ“ Imperative syntax āĻāĻ° āĻŽāĻžāĻā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•ā§€? React āĻ•ā§‹āĻ¨ āĻ§āĻ°āĻŖā§‡āĻ° āĻ‰āĻĒāĻžā§Ÿ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ UI āĻŽā§āĻ¯āĻžāĻ¨ā§āĻĒā§āĻ˛ā§‡āĻŸ āĻ•āĻ°ā§‡ ?

Declarative āĻŦāĻ˛āĻ¤ā§‡ āĻŦāĻ°ā§āĻ¨āĻ¨āĻžāĻŽā§‚āĻ˛āĻ• āĻŦā§āĻāĻžā§Ÿ āĻāĻŦāĻ‚ Imperative āĻāĻ° āĻŽāĻžāĻ¨ā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻ¨āĻžāĻŽā§‚āĻ˛āĻ• āĻŦā§āĻāĻžā§Ÿ āĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻƒ

āĻ†āĻĒāĻ¨āĻŋ āĻŽāĻŋāĻ°āĻĒā§āĻ° āĻĨā§‡āĻ•ā§‡ āĻļāĻžāĻšāĻŦāĻžāĻ— āĻ¯āĻžāĻŦā§‡āĻ¨ āĨ¤

āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ—āĻžā§œāĻŋāĻ¤ā§‡ āĻ‰āĻ āĻ˛ā§‡āĻ¨ āĻ“ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻ•ā§‡ āĻŦāĻ˛āĻ˛ā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻļāĻžāĻšāĻŦāĻžāĻ— āĻ¨āĻŋā§Ÿā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻāĻ–āĻ¨ āĻ¸ā§‡ āĻ¤āĻžāĻ° āĻ¨āĻŋāĻœā§‡āĻ° āĻŽāĻ¤ āĻ°āĻžāĻ¸ā§āĻ¤āĻž āĻĻāĻŋā§Ÿā§‡ āĻ¨āĻŋā§Ÿā§‡ āĻ¯āĻžāĻŦā§‡ āĨ¤

āĻāĻ‡ āĻ‰āĻĒāĻžā§Ÿ āĻšāĻšā§āĻ›ā§‡ Declarative āĨ¤

āĻ†āĻŦāĻžāĻ°,

āĻ†āĻĒāĻ¨āĻŋ āĻ—āĻžā§œāĻŋāĻ¤ā§‡ āĻ‰āĻ ā§‡ āĻĒā§āĻ°āĻ¤āĻŋ āĻ°āĻžāĻ¸ā§āĻ¤āĻžā§Ÿ āĻ°āĻžāĻ¸ā§āĻ¤āĻžā§Ÿ āĻŦāĻ˛ā§‡ āĻĻāĻŋāĻ˛ā§‡āĻ¨ āĻāĻŦāĻžāĻ° āĻŦāĻžāĻŽā§‡ āĻāĻ° āĻĒāĻ° āĻĄāĻžāĻ¨ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻāĻ­āĻžāĻŦā§‡ āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻ¨ āĻ°āĻžāĻ¸ā§āĻ¤āĻž āĻ¤āĻžāĻ•ā§‡ āĻĻā§‡āĻ–āĻŋāĻ‡ā§Ÿā§‡ āĻĻā§‡āĻ–āĻŋā§Ÿā§‡ āĻ¨āĻŋā§Ÿā§‡ āĻ—ā§‡āĻ˛ā§‡āĻ¨, āĻāĻ‡ āĻ‰āĻĒāĻžā§Ÿ āĻšāĻ˛ā§‹ Imperative

React.js āĻŽā§‚āĻ˛āĻ¤ Declarative āĻ‰āĻĒāĻžā§Ÿ āĻĢāĻ˛ā§‹ āĻ•āĻ°ā§‡ UI āĻŽā§āĻ¯āĻžāĻ¨ā§āĻĒā§āĻ˛ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡ āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ state define āĻ•āĻ°āĻŋ āĻ“ āĻ¤āĻž setState āĻĻāĻŋā§Ÿā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŋ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŽā§āĻ¯āĻžāĻ¨ā§ā§ŸāĻžāĻ˛āĻŋ āĻ•ā§‹āĻ¨ā§‹ DOM āĻāĻ˛āĻŋāĻŽā§‡āĻ¨ā§āĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšā§Ÿ āĻ¨āĻž āĨ¤ React āĻ¨āĻŋāĻœā§‡ āĻ¤āĻž āĻ¨āĻŋāĻœā§‡āĻ° āĻŽāĻ¤ āĻ•āĻ°ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¤āĻž āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻŦāĻ˛ā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻšā§Ÿ āĻ¨āĻž āĨ¤

āĻ†āĻŦāĻžāĻ° Raw JavaScript āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ•ā§‹āĻ¨ā§‹ State āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻŸāĻž āĻ†āĻŦāĻžāĻ° āĻŽā§āĻ¯āĻžāĻ¨ā§ā§ŸāĻžāĻ˛āĻŋ DOM āĻ Update āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¤ā§‡ āĻšāĻ¤ āĨ¤ āĻ¤āĻžāĻ‡ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻŸāĻŋ Imperative āĻ‰āĻĒāĻžā§Ÿ āĻĢāĻ˛ā§‹ āĻ•āĻ°āĻ¤ā§‡ āĻšā§Ÿ

ā§¨ā§Ļ. Derived āĻŦāĻž Calculated State āĻ•āĻžāĻ•ā§‡ āĻŦāĻ˛ā§‡ ?

āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ State āĻ¸āĻŽā§‚āĻšā§‡āĻ° āĻ¸āĻŽāĻ¨ā§āĻŦā§Ÿā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ State āĻŦāĻžāĻ¨āĻžāĻ¨ā§‹ āĻ•ā§‡ Derived āĻŦāĻž Calculated State āĻŦāĻ˛ā§‡ āĨ¤

āĻ¯ā§‡āĻŽāĻ¨āĻƒ

const [firstName, setFirstName] = useState('');
const [firstName, setLastName] = useState('');
const [fullName, setFullName] = useState('');

āĻāĻ–āĻžāĻ¨ā§‡, firstName and lastName āĻ†āĻ›ā§‡ āĻ†āĻŦāĻžāĻ° fullName āĻāĻ° State āĻ†āĻ›ā§‡ āĨ¤ āĻāĻ–āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¯āĻĻāĻŋ firstName āĻŦāĻž lastName āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° event Handler āĻāĻ° āĻĨā§‡āĻ•ā§‡ fullName āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ āĻšāĻŦā§‡ āĨ¤

āĻ•āĻŋāĻ¨ā§āĻ¤ā§,

const [firstName, setFirstName] = useState('');
const [lastName, setLastName] = useState('');

const fullName = firstName + lastName;

āĻāĻ–āĻžāĻ¨ā§‡ fullName firstName āĻ“ lastName āĻāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻ¨āĻŋā§Ÿā§‡ āĻ†āĻŽāĻ°āĻž fullName āĻāĻ° āĻāĻ•āĻŸāĻž āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻĒāĻžāĻšā§āĻ›āĻŋ

āĻāĻ–āĻžāĻ¨ā§‡ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡āĻ° State āĻāĻ° firstName āĻ“ lastName āĻĻāĻŋā§Ÿā§‡ fullName āĻŦāĻžāĻ¨āĻžāĻ¨ā§‹ āĻšā§Ÿā§‡āĻ›ā§‡ āĻ¤āĻžāĻ‡ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ fullName Derived āĻŦāĻž Calculated State āĻŦāĻ˛āĻž āĻšā§Ÿ āĨ¤

ā§¨ā§§. Mirror Props āĻ•ā§€? āĻ•ā§‹āĻ¨ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻŸāĻŋ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ•āĻ°ā§‡ ?

useState āĻāĻ° Initial Value āĻ¯āĻĻāĻŋ Parent Component āĻāĻ° āĻĨā§‡āĻ•ā§‡ Props āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¨āĻŋā§Ÿā§‡ āĻ¸ā§‡āĻŸāĻŋ āĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšā§Ÿ āĻ¤āĻ–āĻ¨ āĻ¸ā§‡āĻŸā§€ Mirror Props āĻŦāĻ˛āĻž āĻšā§Ÿ ,

āĻ¯ā§‡āĻŽāĻ¨ ,

import { useState } from 'react';

export const DeriveState = ({ initialCategory }) => {
  const [category, setCategory] = useState(initialCategory);

  return <div>Mirror Props</div>;
};

āĻāĻ–āĻžāĻ¨ā§‡, āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻšāĻ˛ā§‹āĻƒ

  • Parent Component āĻāĻ° āĻāĻ‡ āĻ­ā§āĻ¯āĻ˛ā§ āĻ¯āĻĻāĻŋ State āĻāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻšā§Ÿ āĻ“ āĻĒāĻ°ā§‡ āĻ¤āĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻŦā§‡ āĻ¤āĻž āĻāĻ‡ Child Component āĻāĻ° Value āĻĒāĻ°āĻŋāĻŦāĻ°āĻ°ā§āĻ¤āĻ¨ āĻšāĻŦā§‡ āĻ¨āĻž āĨ¤
  • āĻāĻŸāĻŋ ā§§āĻŽ āĻāĻ‡ Initial Values āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻĨāĻžāĻ•āĻŦā§‡ āĻ“ āĻāĻ° āĻŽāĻžāĻā§‡ Setter Function āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡āĻ‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ¨ā§‹ āĻ¯āĻžāĻŦā§‡ āĨ¤ Parents āĻāĻ° āĻ•ā§‹āĻ¨ā§‹ setter Function āĻĻāĻŋā§ŸāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ˛ā§‡ āĻ¤āĻž Child āĻāĻ° value āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻŦā§‡ āĻ¨āĻž
ā§¨ā§¨. Props Drilling āĻ•āĻžāĻ•ā§‡ āĻŦāĻ˛ā§‡ ? āĻ‰āĻƒ
ā§¨ā§Š. Stae Lifting up āĻŽā§‡āĻĨāĻĄ āĻ•āĻŋ āĻ“ āĻ•ā§‡āĻ¨ āĻĢāĻ˛ā§‹ āĻ•āĻ°āĻž āĻšā§Ÿ ? āĻ‰āĻƒ
ā§¨ā§Ē. useEffect āĻāĻ° Component life cycle methods āĻŦā§āĻ¯āĻžāĻ–āĻž āĻ•āĻ° āĨ¤

āĻ‰āĻƒ

āĻ•ā§‹āĻ¨ā§‹ āĻāĻ• āĻĒā§āĻ°āĻžāĻšā§€āĻ¨āĻ•āĻžāĻ˛ā§‡ Class Component āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ Component life cycle āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻž Topic āĻ›āĻŋāĻ˛ āĨ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ functional component āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻž āĻšā§ŸāĻ¤ āĻ¨ā§‡āĻ‡ āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ° ā§¨/ā§Š āĻŸāĻž āĻ•āĻ¨ā§āĻ¸ā§‡āĻĒā§āĻŸ āĻāĻ–āĻ¨āĻ“ āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ āĻ¯āĻž useEffect āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°ā§Ÿā§‹āĻœā§āĻ¯ āĨ¤

useEffeect āĻ•ā§€?

useEffect āĻšāĻ˛ā§‹ React.js āĻāĻ° āĻ¸āĻžāĻ‡āĻĄ āĻ‡āĻĢā§‡āĻ•ā§āĻŸ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻšā§āĻ• āĨ¤

Component life cycle Methods āĻ•āĻŋ ?

React āĻāĻ° āĻ•ā§‹āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻšāĻŦāĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒāĻ°ā§āĻ¯āĻžā§ŸāĻ•ā§‡ life cycle Methods āĻŦāĻ˛āĻž āĻšā§Ÿ āĨ¤

Class Component āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ āĻ¸āĻ•āĻ˛ method āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ° function āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻ˛ā§‡āĻ–āĻž āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ āĻšāĻ¤ āĻ¤āĻŦā§‡ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ¤āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšā§Ÿ āĻ¨āĻž āĨ¤ useEffect āĻĻāĻŋā§ŸāĻž āĻ¸āĻŦ āĻšā§āĻ¯āĻžāĻĄā§‡āĻ˛ āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ āĨ¤ āĻ¤āĻžāĻ‡ āĻ methods āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡āĻ“ āĻ¤āĻžāĻ° āĻ•āĻ¨āĻ¸ā§‡āĻĒā§āĻŸ āĻ†āĻ›ā§‡ āĻāĻ–āĻ¨āĻ“ āĨ¤

āĻŽā§āĻ˛āĻ¤ class syntax āĻāĻ° āĻāĻ‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ†āĻ˛āĻžāĻĻāĻž āĻāĻžāĻŽā§‡āĻ˛āĻž āĻĨā§‡āĻ•ā§‡ āĻŽā§āĻ•ā§āĻ¤āĻŋ āĻĒāĻžāĻŦāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŽāĻžāĻ¤ā§āĻ° hook āĻ†āĻ¨āĻž āĻšā§Ÿ āĨ¤

Mount, Unmount

  • Mount: Render Phase āĻŦāĻž Commit āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ•ā§‡ āĻŦāĻ˛ā§‡
  • UnMount: Render Phase āĻŦāĻž Commit āĻāĻ° āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻŦāĻž render tree āĻĨā§‡āĻ•ā§‡ remove āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻ¤āĻžāĻ•ā§‡ āĻŦāĻ˛ā§‡ unmount āĨ¤

Methods

  • componentDidMount()
  • componentDidUpdate()
  • componentWillUnmount()

āĻ‰āĻ•ā§āĻ¤ āĻ¸āĻ•āĻ˛ method āĻāĻ° Concepts āĻāĻ•āĻ“ āĻ†āĻŽāĻ°āĻžāĻĻā§‡āĻ° āĻœāĻžāĻ¨āĻž āĻ˛āĻžāĻ—ā§‡ āĨ¤

ComponentDidMount

āĻ•āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻ•āĻŋ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻšā§Ÿā§‡āĻ›ā§‡? āĻ¯āĻĻāĻŋ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡āĻ° āĻ•ā§‹āĻĄ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻŦā§‡ āĨ¤

āĻ¸āĻšāĻœā§‡ āĻŦā§āĻāĻž āĻ¯āĻžāĻšā§āĻ›ā§‡ , component āĻ¯āĻ–āĻ¨ mount āĻšāĻŦā§‡ āĻŽāĻžāĻ¨ā§‡ render phrase āĻļā§‡āĻˇ āĻšāĻŦā§‡ āĻ¸ā§‡āĻŸāĻžāĻ° āĻĒāĻ° āĻāĻ‡ effect āĻŸāĻŋ āĻĢāĻžā§ŸāĻžāĻ° āĻšāĻŦā§‡ āĨ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻāĻŸā§€ useEffect āĻĻāĻŋā§ŸāĻž āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡āĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻŋ āĨ¤

useEffect(() => {
  // rander phase āĻāĻ° āĻĒāĻ° āĻāĻŸāĻŋ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻŦā§‡ āĨ¤
}, []);

āĻāĻ–āĻžāĻ¨ā§‡ [ ] āĻĻā§‡ā§ŸāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŦā§āĻāĻžāĻ¨ā§‹ āĻšāĻ˛ āĻāĻ° āĻ•ā§‹āĻ¨ā§‹ Dependency āĻ¨ā§‡āĻ‡ āĻ¤āĻžāĻ‡ āĻāĻŸāĻŋ Render phase āĻļā§‡āĻˇ āĻšāĻŦāĻžāĻ° āĻĒāĻ° āĻāĻ•āĻŦāĻžāĻ° āĻ°āĻžāĻ¨ āĻ•āĻ°āĻŦā§‡ āĨ¤

componentDidUpdate

āĻ•ā§‹āĻŽā§āĻĒā§‹āĻ¨ā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻŋāĻ›ā§ āĻ•āĻŋ update āĻšā§Ÿā§‡āĻ›ā§‡? āĻ¯āĻĻāĻŋ āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻŸāĻŋ āĻ†āĻŦāĻžāĻ° āĻ°āĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻ¯ā§‡āĻŽāĻ¨ āĻ§āĻ°āĻŋ āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻž state āĻ†āĻ›ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻĄā§‡ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻŸāĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻšāĻ˛ā§‡ āĻāĻ‡ āĻāĻĢā§‡āĻ•ā§āĻŸ āĻŸāĻŋ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻŋāĻœā§‡ āĻĨā§‡āĻ•ā§‡āĻ‡ āĨ¤

useEffect(() => {
  // name āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ˛ā§‡ āĻāĻŸāĻŋ āĻ†āĻŦāĻžāĻ° āĻ°āĻžāĻ¨ āĻ•āĻ°āĻŦā§‡
}, [name]);

componentWillUnmount

āĻ•ā§‹āĻ¨ā§‹ components  āĻ¯āĻĻāĻŋ react render tree āĻāĻ° āĻĨā§‡āĻ•ā§‡ āĻ°āĻŋāĻŽā§āĻ­ āĻ•āĻ°āĻž āĻšā§Ÿ āĻ¤āĻ–āĻ¨ āĻāĻŸāĻŋ āĻ°āĻžāĻ¨ āĻšāĻŦā§‡  āĨ¤ āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ  useEffect āĻāĻ° Cleanup function āĻ¨āĻžāĻŽā§‡ āĻšāĻŋāĻ¨āĻŋ āĨ¤  āĻ¯āĻĻāĻŋ useEffect āĻ•ā§‹āĻ¨ā§‹ functions return āĻ•āĻ°ā§‡ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ¸ā§‡āĻŸāĻŋ unmount āĻāĻ° āĻ¸āĻŽā§Ÿ āĻ¤āĻž āĻĢāĻžāĻ°āĻžā§Ÿ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻŋāĻœā§‡ āĻĨā§‡āĻ•ā§‡  āĨ¤

useEffect(() => {
  return () => {
    // unmount  āĻāĻ° āĻ¸āĻŽā§Ÿ āĻāĻŸāĻŋ āĻ°āĻžāĻ¨ āĻšāĻŦā§‡ āĨ¤
  };
}, []);

Next.js

ā§§. Server Side Rendering āĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ•āĻŋ ? āĻ‰āĻƒ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¸āĻžāĻ‡āĻĄ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ‚ āĻ āĻ‡āĻ¨āĻŋāĻļāĻŋā§ŸāĻžāĻ˛ āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡āĻ‡ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻšā§Ÿā§‡ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻ āĻ†āĻ¸ā§‡ āĻŦāĻŋāĻ§āĻžā§Ÿ āĻ•ā§āĻ˛āĻžā§Ÿā§‡āĻ¨ā§āĻŸ āĻāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ•āĻ°ā§‡ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻ˛āĻžāĻ—ā§‡ āĻ¨āĻžāĨ¤ āĻāĻ¤ā§‡ āĻ•āĻ°ā§‡ āĻ“ā§Ÿā§‡āĻŦ āĻĒā§‡āĻœ āĻāĻ° āĻ‡āĻ¨āĻŋāĻļāĻŋā§ŸāĻžāĻ˛ āĻ˛ā§‹āĻĄāĻŋāĻ‚ āĻŸāĻžāĻ‡āĻŽ āĻ•āĻŽā§‡ āĻ¯āĻžā§ŸāĨ¤ āĻāĻ›āĻžā§œāĻž āĻ¸āĻžāĻ°ā§āĻš āĻ‡āĻžā§āĻœāĻŋāĻ¨ āĻāĻ‡ āĻ‡āĻ¨āĻŋāĻļāĻŋā§ŸāĻžāĻ˛ āĻāĻ‡āĻšāĻŸāĻŋāĻāĻŽāĻāĻ˛ āĻ•āĻ¨ā§āĻŸā§‡āĻ¨ā§āĻŸ āĻĨā§‡āĻ•ā§‡āĻ‡ āĻ‡āĻ¨ā§āĻĄā§‡āĻ•ā§āĻ¸āĻŋāĻ‚ āĻ•āĻ°ā§‡ āĻŦāĻŋāĻ§āĻžā§Ÿ āĻ“ā§Ÿā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸ āĻāĻ° SEO āĻ°â€ā§āĻ¯āĻžāĻ‚āĻ• āĻŦā§ƒāĻĻā§āĻ§āĻŋ āĻĒāĻžā§ŸāĨ¤
ā§¨. Client Components āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡āĻ“ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ Server Components āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ ? āĻ‰āĻƒ

Node/Express

ā§§. Node āĻ REPL Context āĻŦāĻ˛āĻ¤ā§‡ āĻ•āĻŋ āĻŦā§āĻāĻžā§Ÿ

āĻ‰āĻƒ Node.js REPL (Read-Eval-Print Loop) āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°ā§‡āĻ•ā§āĻŸāĻŋāĻ­ āĻ°āĻžāĻ¨āĻŸāĻžāĻ‡āĻŽ āĻāĻ¨āĻ­āĻžā§ŸāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ Node.js āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–ā§‡ āĻ¤āĻž āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡āĻ‡ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžā§Ÿ āĻ“ Output āĻĻā§‡āĻ–āĻž āĻ¯āĻžā§ŸāĨ¤

āĻ¯ā§‡āĻŽāĻ¨ Terminal āĻ node āĻ˛āĻŋāĻ–ā§‡ āĻāĻ¨ā§āĻŸāĻžāĻ° āĻĻāĻŋāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ REPL āĻāĻ¨āĻ­āĻžā§ŸāĻ°āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻļā§āĻ°ā§ āĻšā§ŸāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻœāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¤āĻž āĻ°āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻƒ

image

Database

ā§§. SQL āĻ“ MySQL āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•āĻŋ ? āĻ‰āĻƒ

✅ āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡ āĻŦāĻ˛āĻ˛ā§‡, āĻāĻ•āĻŸāĻŋ āĻšāĻ˛ā§‹ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻœ, āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋ āĻšāĻ˛ā§‹ āĻ˛ā§āĻ¯āĻžāĻ‚āĻ—ā§ā§Ÿā§‡āĻœāĨ¤

🛑 SQL ( Structured query language ) – āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻšāĻšā§āĻ›ā§‡ āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻšāĻžāĻ°ā§āĻĄ āĻ•ā§āĻ¯āĻŧā§‡āĻ°āĻŋ āĻ˛ā§āĻ¯āĻžāĻ‚āĻ—ā§ā§Ÿā§‡āĻœāĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ˛ā§āĻ¯āĻžāĻ‚āĻ—ā§ā§Ÿā§‡āĻœāĨ¤ āĻ¯āĻž āĻĻāĻŋā§Ÿā§‡ āĻ•ā§‹āĻ¨ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ§āĻ°āĻŖā§‡āĻ° āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻœ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¤āĻĨā§āĻ¯ āĻ†āĻĒāĻĄā§‡āĻŸ, āĻ¨āĻ¤ā§āĻ¨ āĻ¤āĻĨā§āĻ¯ āĻĄāĻŋāĻ˛āĻŋāĻŸ, āĻ¤āĻĨā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŋāĻ¤ āĻĄāĻžāĻŸāĻžāĻ•ā§‡ āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ āĻ…āĻ¨ā§āĻ¯āĻžā§Ÿā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ SQL āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšā§ŸāĨ¤

🛑 MySQL ( My Structured Query Language ) – āĻŽāĻžāĻ‡āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻšāĻšā§āĻ›ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻŋāĻ˛ā§‡āĻļāĻ¨āĻžāĻ˛ āĻĄā§‡āĻŸāĻžāĻŦā§‡āĻœ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻŽā§‡āĻ¨ā§āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ (RDBMS)āĨ¤ āĻ¸āĻšāĻœ āĻ­āĻžāĻˇāĻžāĻ¯āĻŧ āĻŦāĻ˛āĻ˛ā§‡ āĻāĻŸāĻž āĻāĻ•āĻŸāĻž āĻ¸āĻĢāĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĄāĻžāĻŸāĻž āĻŽā§āĻ¯āĻžāĻ¨ā§āĻĒā§āĻ˛ā§‡āĻļāĻ¨, āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ , āĻŽāĻĄāĻŋāĻĢāĻŋāĻ•ā§‡āĻļāĻ¨, āĻĄāĻŋāĻ˛āĻŋāĻŸ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻāĻ•āĻŸāĻž āĻŸā§‡āĻŦā§āĻ˛āĻžāĻ° āĻĢāĻ°āĻŽā§‡āĻŸ āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĨ¤ āĻāĻ‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛ā§‹āĻ‡ āĻ†āĻŽāĻ°āĻž SQL āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻ°āĻŋāĨ¤ āĻāĻ° āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛ā§‹āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻ›ā§‡â€” āĻ“āĻ°āĻžāĻ•āĻ˛, āĻāĻ¸āĻ•āĻŋāĻ‰-āĻ˛āĻžāĻ‡āĻŸ, āĻĒā§‹āĻ¸ā§āĻŸāĻœāĻŋāĻ†āĻ°āĻ‡-āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛, āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻĢāĻŸ āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°, āĻ†āĻ‡āĻŦāĻŋāĻāĻŽ āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹āĻ¸āĻĢāĻŸ āĻāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤

āĻ˛ā§‡āĻ–āĻžāĻƒ phitron.io

📌 āĻ¤āĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻ°ā§āĻ¸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°ā§‹ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻœāĻžāĻ¨āĻ¤ā§‡ āĻ­āĻŋāĻœāĻŋāĻŸ āĻ•āĻ°ā§āĻ¨ - phitron.io

Guess The Output

What will be the output and why ?

āĻ‰āĻƒ Yeasin

āĻ•āĻžāĻ°āĻ¨ :

ā§§āĻŽ āĻ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻ˛āĻ•ā§āĻˇ āĻ•āĻ°āĻŋāĻƒ

const takeInput = (input ) => {
  console.log(input);
};

takeinput()

āĻ†āĻ—ā§‡ āĻāĻŸāĻŋ āĻ˛āĻ•ā§āĻˇ āĻ•āĻ°āĻŋ, āĻāĻ–āĻžāĻ¨ā§‡ āĻ¯āĻĻāĻŋ takeInput āĻ•ā§‡ call āĻ•āĻ°āĻž āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ input āĻāĻ° value By default āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ undefined āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻĨāĻžāĻ•āĻŦā§‡ āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•ā§‹āĻ¨ā§‹ āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻĒāĻžāĻ¸ āĻ•āĻ°āĻŋāĻ¨āĻŋ āĨ¤ āĻ¤āĻžāĻ‡ āĻāĻ–āĻžāĻ¨ā§‡ input āĻāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ undefined āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻĨāĻžāĻ•āĻŦā§‡ āĨ¤

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻŸāĻŋāĻ° default value āĻĻāĻŋā§Ÿā§‡ āĻĻāĻŋāĻ˛ā§‡ āĻāĻ° āĻĒāĻ° āĻ¯āĻĻāĻŋ āĻ¯āĻĻāĻŋ āĻ“āĻ‡ paramitar āĻāĻ° āĻ­ā§āĻ¯āĻžāĻ˛ā§ undefined āĻšā§Ÿ āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻŸāĻŋ āĻ“āĻ‡ default value āĻŸāĻŋ āĻ¨āĻŋā§Ÿā§‡ āĻĻā§‡āĻ–āĻžāĻŦā§‡ āĨ¤

āĻ¤āĻžāĻ‡ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° input āĻāĻ° default value āĻĻā§‡ā§ŸāĻž āĻ›āĻŋāĻ˛ āĻāĻ‡ āĻœāĻ¨ā§āĻ¯ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž takeInput āĻ•ā§‡ call āĻ•āĻ°āĻ˛ā§‡ āĻāĻŸāĻŋ undefined āĻ¨āĻž āĻšā§Ÿā§‡ Yeasin āĻĻā§‡āĻ–āĻžāĻŦā§‡ āĨ¤

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published