Vivasoft-logo

2.4 āϟ⧁āĻĒāϞ-āχāύāĻžāĻŽ

āϟ⧁āĻĒāϞ (Tuple)

āϟ⧁āĻĒāϞ āϟāĻžāχāĻĒāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡ āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻĄāĻžāϟāĻž āϟāĻžāχāĻĒ, āϝ⧇āϟāĻž āφāϏāϞ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĄāĻžāϟāĻž āϟāĻžāχāĻĒ⧇āϰ āĻ­ā§āϝāĻžāϞ⧁ āϧāϰ⧇ āϰāĻžāĻ–āϤ⧇ āĻĒāĻžāϰ⧇, āϤāĻŦ⧇ āĻ•āĻŋ āĻ•āĻŋ āϟāĻžāχāĻĒ⧇āϰ āĻĄāĻžāϟāĻž āϰāĻžāĻ–āĻŦā§‹ āϏ⧇āϟāĻž āφāĻŽāĻžāĻĻ⧇āϰ āĻŦāϞ⧇ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇, āĻāϟāĻžāϰ Syntax āĻĻ⧇āĻ–āϤ⧇ āĻ…ā§āϝāĻžāϰ⧇āϰ āĻŽāϤ⧋ āĨ¤

				
					// other variable types
var empId: number = 1;
var empName: string = "Mahmudul Hasan";        

// Tuple type variable 
var employee: [number, string] = [1, "Mahmudul Hasan"];
				
			

āφāĻŦāĻžāϰ āĻ…ā§āϝāĻžāϰ⧇ āĻāĻŦāĻ‚ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āĻŽāϤ⧋, āϟ⧁āĻĒāϞāϕ⧇ āφāĻŽāϰāĻž āύāϤ⧁āύ āĻ­ā§āϝāĻžāϰāĻŋ⧟āĻžāĻŦāϞ⧇ destruct āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋ, āϚāϞ⧁āύ āĻāĻ•āϟāĻž āωāĻĻāĻžāĻšāϰāĻŖ āĻĻ⧇āĻ–āĻž āϝāĻžāĻ•āĨ¤

				
					const profile : [string, number, string, boolean] = [
 'Mahmudul Hasan',
 28,
 `Meherpur, Mujibnagar`,
 true,
];
const [name, age, address, married] = profile;
console.log(`${name} is ${age} years old.`);

//output
Mahmudul Hasan is 28 years old
				
			

āφāĻŦāĻžāϰ āφāĻŽāϰāĻž āϚāĻžāχāϞ⧇ āϕ⧋āύ āĻĢāĻžāĻ‚āĻļāύ⧇āϰ āϰāĻŋāϟāĻžāĻ°ā§āύ āϟāĻžāχāĻĒ āĻšāĻŋāϏāĻžāĻŦ⧇āĻ“ āϟ⧁āĻĒāϞ āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋāĨ¤

				
					function ageDistance(age1: number, age2: number): [number, boolean] {
  return age1 > age2 ? [age1 - age2, true] : [age2 - age1, false];
}

const [difference, isOlder] = ageDistance(30, 69);
console.log(difference); // Output: 39
console.log(isOlder);    // Output: false

				
			
āχāύāĻžāĻŽ (enum)   āχāύāĻžāĻŽ āĻšāϞ āϟāĻžāχāĻĒāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡āϰ āĻ•āϝāĻŧ⧇āĻ•āϟāĻŋ āĻŦ⧈āĻļāĻŋāĻˇā§āĻŸā§āϝ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ, āϝāĻž āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡āϰ āϟāĻžāχāĻĒ-āϞ⧇āϭ⧇āϞ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āύāϝāĻŧāĨ¤ āϧāϰ⧁āύ āφāĻŽāϰāĻž āĻ•āĻŋāϛ⧁ āĻ•āύāĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āϟ āĻ­ā§āϝāĻžāϞ⧁ āĻĄāĻŋāĻĢāĻžāχāύ āĻ•āϰ⧇ āϰāĻžāĻ–āϤ⧇ āϚāĻžāχ āĻāĻŦāĻ‚ āϏ⧇āχ āĻ­ā§āϝāĻžāϞ⧁āϗ⧁āϞ⧋ āφāĻŽāĻžāĻĻ⧇āϰ āĻĒāϰ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻ•āĻžāĻœā§‡ āϞāĻžāĻ—āϤ⧇ āĻĒāĻžāϰ⧇ āĻāĻŽāύ āĻšāϞ⧇, āχāύāĻžāĻŽ āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϖ⧁āĻŦ āϏāĻšāĻœā§‡āχ āφāĻŽāϰāĻž āϏ⧇āϟāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋ, āϟāĻžāχāĻĒāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āĻŸā§‡ āφāĻŽāϰāĻž āĻĻ⧁āχ āϧāϰāϪ⧇āϰ āχāύāĻžāĻŽ āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋāĨ¤
  • numeric enums
  • string-based enums
  āχāύāĻžāĻŽ āĻĄāĻŋāĻ•ā§āϞāĻžāϰ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āφāĻŽāĻžāĻĻ⧇āϰ āχāύāĻžāĻŽ āϕ⧀āĻ“āϝāĻŧāĻžāĻ°ā§āĻĄāϟāĻž āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇, āϚāϞ⧁āύ āφāĻŽāϰāĻž āĻĻ⧁āχ āϧāϰāϪ⧇āϰ āχāύāĻžāĻŽ āĻāϰ āĻŦā§āϝāĻžāĻŦāĻšāĻžāϰ āĻĻ⧇āϖ⧇ āφāϏāĻŋ:
				
					//Numeric enums

enum Direction {
Up = 1,
Down,
Left,
Right,
}
console.log(Direction.Right);

// output 4
				
			

āĻāĻ–āĻžāύ⧇ āφāĻŽāϰāĻž Up āϕ⧇ 1 āĻĻāĻŋā§Ÿā§‡ āχāύāĻŋāĻļāĻŋ⧟āĻžāϞāĻžāχāϜ āĻ•āϰ⧇ āĻĻāĻŋā§Ÿā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻāϟāĻž āϝ⧇āĻšā§‡āϤ⧁ āύāĻŋāωāĻŽā§‡āϰāĻŋāĻ• āχāύāĻžāĻŽ āϤāĻžāχ āĻŦāĻžāĻ•āĻŋ āĻŽā§‡āĻŽā§āĻŦāĻžāϰāϗ⧁āϞ⧋ āĻ…āĻŸā§‹ āχāύāĻ•ā§āϰāĻŋāĻŽā§‡āĻ¨ā§āϟ āĻšā§Ÿā§‡,  Down =>  2, Left =>  3, āĻāĻŦāĻ‚ Right => 4 āĻšāĻŦ⧇, āφāĻŦāĻžāϰ āφāĻŽāϰāĻž āϝāĻĻāĻŋ Up āϕ⧇ āχāύāĻŋāĻļāĻŋ⧟āĻžāϞāĻžāχāϜ āύāĻž āĻ•āϰāϤāĻžāĻŽ āϤāĻžāĻšāϞ⧇ 0 āĻĻāĻŋā§Ÿā§‡ āĻļ⧁āϰ⧁ āĻšāϤ⧋āĨ¤

				
					// error case
enum E {
A = getSomeValue(),
B,
//error Enum member must have initializer.
}
				
			
				
					//string enum
enum Direction {
Up = "UP",
Down = "DOWN",
Left = "LEFT",
Right = "RIGHT",
}

console.log(Direction.Right);

//output RIGHT
				
			

āϤāĻŦ⧇ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āχāύāĻžāĻŽ āĻāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻ…āĻŦāĻļā§āϝāχ āφāĻŽāĻžāĻĻ⧇āϰ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻŽā§‡āĻŽā§āĻŦāĻžāϰ āϕ⧇ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻ­ā§āϝāĻžāϞ⧁ āĻĻāĻŋā§Ÿā§‡ āχāύāĻŋāĻļāĻŋ⧟āĻžāϞāĻžāχāϜ āĻ•āϰ⧇ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇āĨ¤