Vivasoft-logo

3.6 āĻ…āĻĒāĻļāύāĻžāϞ āĻšā§‡āχāύāĻŋāĻ‚

āĻ…āĻĒāĻļāύāĻžāϞ āĻšā§‡āχāύāĻŋāĻ‚ (?.) āĻšāϞ⧋ āĻāĻ•āϟāĻŋ āĻ…āĻĒāĻžāϰ⧇āϟāϰ āϝāĻž āĻāĻ•āϟāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āĻāĻ•ā§āϏ⧇āϏ āĻŦāĻž āĻāĻ•āϟāĻŋ āĻĢāĻžāĻ‚āĻļāύ āĻ•āϞ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§ŸāĨ¤ āϝāĻĻāĻŋ āĻāχ āĻ…āĻĒāĻžāϰ⧇āϟāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻž āĻ…āĻŦāĻœā§‡āĻ•ā§āϟāϟāĻŋ undefined āĻŦāĻž null āĻšā§Ÿ āϤāĻžāĻšāϞ⧇ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύāϟāĻŋ āĻāϰāϰ āĻĨā§āϰ⧋ āύāĻž āĻ•āϰ⧇ undefined āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧇āĨ¤

āĻ…āĻĒāĻļāύāĻžāϞ āĻšā§‡āχāύāĻŋāĻ‚ (?.) āĻ…āĻĒāĻžāϰ⧇āϟāϰ⧇āϰ āϏāĻŋāύāĻŸā§āϝāĻžāĻ•ā§āϏ āĻšāϞ⧋:

				
					 
Obj.val?.prop; //āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋ āĻāĻ•ā§āϏ⧇āϏ
array?.[1]; //āĻ…ā§āϝāĻžāϰ⧇āϰ āφāχāĻŸā§‡āĻŽ āĻāĻ•ā§āϏ⧇āϏ
obj.func?.(args);//āĻĢāĻžāĻ‚āĻļāύ āĻ•āϞ
				
			

āĻ…āĻĒāĻļāύāĻžāϞ āĻšā§‡āχāύāĻŋāĻ‚ (?.) āĻ…āĻĒāĻžāϰ⧇āϟāϰ , (.) āĻšā§‡āχāύāĻŋāĻ‚ āĻ…āĻĒāĻžāϰ⧇āϟāϰ⧇āϰ āĻŽāϤāχ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§Â  (?.) āĻ…āĻĒāĻžāϰ⧇āϟāĻ°Â  āύāĻžāϞāĻŋāĻļ (null or undefined) āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ⧇āϰ āϜāĻ¨ā§āϝ āĻāϰāϰ āύāĻž āĻĻāĻŋā§Ÿā§‡ undefined āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧇āĨ¤ āĻĢāĻžāĻ‚āĻļāύ āĻ•āϞāĻŋāĻ‚ āĻāϰ āϏāĻŽā§Ÿ āĻāϟāĻŋ undefined āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧇ āϝāĻĻāĻŋ āĻĒā§āϰāĻĻāĻ¤ā§āϤ āĻĢāĻžāĻ‚āĻļāύ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āύāĻž āĻĨāĻžāϕ⧇āĨ¤

āĻāϰ āĻĢāϞ⧇ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āϝāĻĻāĻŋ āύāĻž āĻĨāĻžāĻ•āĻžāϰ āϏāĻŽā§āĻ­āĻžāĻŦāύāĻž āĻĨāĻžāϕ⧇ āϤāĻžāĻšāϞ⧇āĻ“ āύ⧇āĻ¸ā§āĻŸā§‡āĻĄ āĻĒā§āϰāĻĒāĻžāĻ°ā§āϟāĻŋāϜāϗ⧁āϞ⧋ āĻāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻž āϝāĻžā§Ÿ āϖ⧁āĻŦ āϏāĻšāϜ āĻāĻŦāĻ‚ āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡āĨ¤

āĻāĻ–āύ āϤāĻžāĻšāϞ⧇ āĻāĻ•āϟāĻž āϏāĻšāϜ āωāĻĻāĻžāĻšāϰāϪ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ (.) āĻāĻŦāĻ‚ (?.) āĻšā§‡āχāύāĻŋāĻ‚ āĻ…āĻĒāĻžāϰ⧇āϟāϰ⧇āϰ āϏ⧁āĻŦāĻŋāϧāĻž-āĻ…āϏ⧁āĻŦāĻŋāϧāĻžāϗ⧁āϞ⧋ āĻĻ⧇āϖ⧇ āύ⧇āχ:

				
					const person = {
  name: 'Kalam',
  age: 40,
  hair: {
    color: 'black',
    style: 'straight',
  },
};


const hairColor = person.hair && person.hair.color;

				
			

person.hair.color-āĻāϰ āĻŽāĻžāύ āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻžāϰ āφāϗ⧇ person.hair-āĻāϰ āĻŽāĻžāύ āύāύ-āύāĻžāϞ(āĻāĻŦāĻ‚ āύāύ-undefined) āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇āĨ¤ person.hair āĻĒāϰ⧀āĻ•ā§āώāĻž āύāĻž āĻ•āϰ⧇ āϏāϰāĻžāϏāϰāĻŋ person.hair.color āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāϞ⧇ āĻāϟāĻŋ āϝ⧇ āĻāϰāϰ āϘāϟāĻŦ⧇ āϤāĻž āĻĒā§āϰāϤāĻŋāϰ⧋āϧ āĻ•āϰ⧇āĨ¤

āĻ…āĻĒāĻļāύāĻžāϞ āĻšā§‡āχāύāĻŋāĻ‚ āĻ…āĻĒāĻžāϰ⧇āϟāϰ (?.) āĻĻāĻŋāϝāĻŧ⧇ person.hair.color āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāĻžāϰ āφāϗ⧇ person.hair āĻāϰ āĻŽāĻžāύ āφāϞāĻžāĻĻāĻž āĻ•āϰ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāϤ⧇ āĻšāĻŦ⧇ āύāĻž:

				
					const hairColor = person.hair?.color;
				
			

āĻļ⧁āϧ⧁ (.) āĻ…āĻĒāĻžāϰ⧇āϟāϰ⧇āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ (?.)āĻ…āĻĒāĻžāϰ⧇āϟāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇,āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ person.hair.color āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāĻžāϰ āφāϗ⧇ person.hair-āĻāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ null āĻ…āĻĨāĻŦāĻž undefined āύāϝāĻŧ āϤāĻž āύāĻŋāĻļā§āϚāĻŋāϤ āĻšāϤ⧇ āĻĒāϰ⧋āĻ•ā§āώāĻ­āĻžāĻŦ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧇āĨ¤ āϝāĻĻāĻŋ person.hair-āĻāϰ āĻŽāĻžāύ null āĻ…āĻĨāĻŦāĻž undefined āĻšāϝāĻŧ, āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύāϟāĻŋ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ undefined āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧇āĨ¤

āĻ…āĻĒāĻļāύāĻžāϞ āĻšā§‡āχāύāĻŋāĻ‚ āĻĻāĻŋā§Ÿā§‡ āĻĢāĻžāĻ‚āĻļāύ āĻ•āϞ

āϕ⧋āύ⧋ āĻĢāĻžāĻ‚āĻļāύāϕ⧇ āĻ•āϞ āĻ•āϰāĻžāϰ āĻšā§‡āĻˇā§āϟāĻž āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻ…āĻĒāĻļāύāĻžāϞ āĻšā§‡āχāύāĻŋāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§Ÿ, āϝ⧇āĻ–āĻžāύ⧇ āĻĢāĻžāĻ‚āĻļāύāϟāĻŋ āύāĻžāĻ“ āĻĨāĻžāĻ•āϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āĻĢāĻžāĻ‚āĻļāύ āĻ•āϞ⧇āϰ āϏāĻžāĻĨ⧇ āĻ…āĻĒāĻļāύāĻžāϞ āĻšā§‡āχāύāĻŋāĻ‚ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ āϝāĻĻāĻŋ āĻĢāĻžāĻ‚āĻļāύāϟāĻŋ āύāĻž āĻĒāĻžāĻ“āϝāĻŧāĻž āϝāĻžāϝāĻŧ āϤāĻžāĻšāϞ⧇ āĻāϰāϰ āĻĨā§āϰ⧋ āĻ•āϰāĻžāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύāϟāĻŋ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ undefined āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰ⧇āĨ¤

				
					const result = customMethod?.();
				
			

āĻāĻ•ā§āϏāĻĒā§āϰ⧇āĻļāύ āϞāĻŋāĻ–āϤ⧇ āĻ…āĻĒāĻļāύāĻžāϞ āĻšā§‡āχāύāĻŋāĻ‚ āĻāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ

āĻ…āĻĒāĻļāύāĻžāϞ āĻšā§‡āχāύāĻŋāĻ‚ (?.) āĻ…āĻĒāĻžāϰ⧇āϟāϰ āĻŦā§āĻ°ā§āϝāĻžāϕ⧇āϟ āύ⧋āĻŸā§‡āĻļāύ⧇āϰ āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§ŸāĨ¤ āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ:

				
					const nestedProp = obj?.['prop' + 'Name'];
				
			

āĻāϟāĻŋ āĻ…ā§āϝāĻžāϰ⧇āϰ āϜāĻ¨ā§āϝ⧇āĻ“ āĻŦāĻŋāĻļ⧇āώāĻ­āĻžāĻŦ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰ, āϝ⧇āĻšā§‡āϤ⧁ āĻ…ā§āϝāĻžāϰ⧇āϰ āχāύāĻĄā§‡āĻ•ā§āϏāϗ⧁āϞ⧋ āĻŦā§āĻ°ā§āϝāĻžāϕ⧇āϟ āĻĻā§āĻŦāĻžāϰāĻž āĻ…ā§āϝāĻžāĻ•ā§āϏ⧇āϏ āĻ•āϰāĻž āĻšā§ŸāĨ¤

				
					function printContent(arr) {
  console.log(arr?.[42]);
}


printContent([0, 1, 2, 3, 4, 5]); // Output: undefined
printContent(); // Output: Error