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
- 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
āϤāĻŦā§ āϏā§āĻā§āϰāĻŋāĻ āĻāύāĻžāĻŽ āĻāϰ āĻā§āώā§āϤā§āϰ⧠āĻ āĻŦāĻļā§āϝāĻ āĻāĻŽāĻžāĻĻā§āϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻŽā§āĻŽā§āĻŦāĻžāϰ āĻā§ āϏā§āĻā§āϰāĻŋāĻ āĻā§āϝāĻžāϞ⧠āĻĻāĻŋā§ā§ āĻāύāĻŋāĻļāĻŋā§āĻžāϞāĻžāĻāĻ āĻāϰ⧠āĻĻāĻŋāϤ⧠āĻšāĻŦā§āĨ¤