2.1 āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¨ āĻāĻžāĻāĻĒ
āĻāĻ āĻ āĻ§ā§āĻ¯āĻžā§ā§ āĻāĻŽāĻ°āĻž āĻāĻžāĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¨ āĻāĻžāĻāĻĒ āĻ¨āĻŋā§ā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻŦā§, āĻāĻŽāĻ°āĻž āĻāĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§āĻ āĻā§āĻ¨ā§āĻāĻŋ āĻāĻžāĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻāĻāĻāĻŋ āĻ¸ā§āĻĒāĻžāĻ° āĻ¸ā§āĻ āĻ¸ā§āĻ¤āĻ°āĻžāĻ āĻāĻžāĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¨ āĻĄāĻžāĻāĻž āĻāĻ¨āĻšā§āĻ°āĻŋāĻ āĻāĻ°ā§ āĻāĻŦāĻ āĻāĻŋāĻā§ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§āĨ¤Â
āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻŦā§ āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§ āĻāĻŋ āĻāĻŋ āĻŦāĻŋāĻ˛ā§āĻ-āĻāĻ¨ āĻĄāĻžāĻāĻžÂ āĻāĻžāĻāĻĒ āĻāĻā§āĻ¯ā§āĻŽāĻ¨āĻ number, string, boolean, null, undefined and object āĻāĻŦāĻžāĻ° āĻāĻžāĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻžāĻāĻžāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻāĻ āĻāĻžāĻāĻĒ āĻā§āĻ˛ā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻ°ā§ āĻāĻŋāĻā§ āĻ¨āĻ¤ā§āĻ¨Â āĻāĻžāĻāĻĒ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°ā§āĻā§ āĻ¸ā§āĻā§āĻ˛ā§ āĻšāĻ˛āĻ any, unknown, never, enum and tuple
āĻāĻ¸ā§āĻ¨ āĻāĻŽāĻ°āĻž āĻā§ā§āĻāĻāĻž āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻāĻŦā§ āĻ¯ā§ āĻāĻŋāĻāĻžāĻŦā§ āĻāĻ āĻāĻžāĻāĻĒ āĻā§āĻ˛ā§ āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻ¯āĻžāĻ°āĻŋā§ā§āĻŦāĻ˛ āĻĄāĻŋāĻĢāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§Â āĻĒāĻžāĻ°āĻŋāĨ¤
let sales: number = 3000;
let course: string = 'TypeScript';
let is_published: boolean = true;
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻ¤āĻŋāĻ¨āĻāĻž āĻā§āĻ¯āĻžāĻ°āĻŋā§ā§āĻŦāĻ˛ āĻĄāĻŋāĻā§āĻ˛āĻžāĻ° āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻāĻĻā§āĻ° āĻāĻžāĻāĻĒ āĻā§āĻ˛ā§ āĻĄāĻŋāĻĢāĻžāĻāĻ¨ āĻāĻ°ā§ āĻŦāĻ˛ā§Â āĻĻāĻŋā§ā§āĻāĻŋ āĻ¯ā§ sales, course, is_published āĻ¯āĻĨāĻžāĻā§āĻ°āĻŽā§ āĻ¨āĻžāĻŽā§āĻŦāĻžāĻ° , āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻŦāĻ āĻŦā§āĻ˛āĻŋā§āĻžāĻ¨ āĻāĻžāĻāĻĒāĨ¤Â
āĻāĻāĻ¨ āĻāĻŽāĻ°āĻž āĻ¯āĻĻāĻŋ sales āĻā§āĻ¯āĻžāĻ°āĻŋā§ā§āĻŦāĻ˛ āĻāĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻā§āĻ¨ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻā§āĻ¯āĻžāĻ˛ā§ āĻ ā§āĻ¯āĻžāĻ¸āĻžāĻāĻ¨ āĻāĻ°āĻŋ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻžāĻāĻĒāĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻŽā§āĻĒāĻžāĻāĻ˛ āĻāĻžāĻāĻŽ āĻāĻ°āĻ° āĻĻā§āĻāĻžāĻŦā§āĨ¤
let sales: number = 3000;
let course: string = 'TypeScript';
let is_published: boolean = true;
sales = "3000"; //error Type 'string' is not assignable to type 'number'
is_published = 3000; //error Type 'number' is not assignable to type 'boolean'.
course = true // error Type 'boolean' is not assignable to type 'string'.
āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻĻā§āĻāĻ˛āĻžāĻŽ āĻā§āĻ¨ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻžāĻāĻĒ āĻā§āĻ¯āĻžāĻ°āĻŋā§ā§āĻŦāĻ˛ āĻāĻ° āĻāĻŋāĻ¤āĻ°ā§ āĻ¯āĻĻāĻŋ āĻāĻŋāĻ¨ā§āĻ¨ āĻā§āĻ¨ā§ āĻāĻžāĻāĻĒā§āĻ° āĻĄāĻžāĻāĻž āĻ ā§āĻ¯āĻžāĻ¸āĻžāĻāĻ¨ āĻāĻ°āĻŋÂ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻ°āĻ° āĻĻā§āĻāĻžāĻŦā§āĨ¤
āĻāĻŦāĻžāĻ° āĻāĻ āĻ¸āĻāĻ˛ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ āĻā§ āĻĻā§āĻ āĻāĻžāĻā§ āĻāĻžāĻ āĻāĻ°āĻž āĻ¯āĻžā§ āĻ¯ā§āĻŽāĻ¨ :
- āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻāĻŋāĻ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ
- āĻ¨āĻ¨-āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻāĻŋāĻ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ
āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻāĻŋāĻ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ
āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻāĻŋāĻ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ āĻšāĻ˛ āĻāĻāĻĻāĻŽ āĻŦā§āĻ¯āĻžāĻ¸āĻŋāĻ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ āĻ¯ā§āĻāĻž āĻāĻ¸āĻ˛ā§ immutable, āĻŽāĻžāĻ¨ā§ āĻāĻ° āĻŽāĻžāĻ¨ āĻāĻāĻ¨ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšā§āĻ¨āĻž, āĻāĻ¸āĻ˛ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšā§āĻ¨āĻž āĻŦāĻ˛āĻ¤ā§ āĻāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻā§āĻ¯āĻžāĻ˛ā§ āĻāĻž āĻāĻāĻ āĻĨāĻžāĻā§āĨ¤ āĻāĻ¸ā§āĻ¨ āĻāĻŽāĻ°āĻž āĻāĻāĻāĻž āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻāĻŋ āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻžāĻ˛ā§āĻāĻžāĻŦā§ āĻŦāĻŋāĻˇā§āĻāĻž āĻŦā§āĻāĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĨ¤
let sample: string = 'immutable'
console.log(sample)
sample[0] = 'V' //changing the first letter to V
console.log(sample)
sample = 'mutable'
console.log(sample)
//output
immutable
immutable
mutable
āĻļā§āĻˇ āĻāĻāĻāĻĒā§āĻ mutable āĻāĻ¸āĻžāĻ° āĻāĻžāĻ°āĻŖ āĻšāĻā§āĻā§ āĻāĻŽāĻ°āĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻā§āĻ¯āĻžāĻ˛ā§āĻāĻžāĻā§ āĻŽāĻĄāĻŋāĻĢāĻžāĻÂ āĻ¨āĻž āĻāĻ°ā§ āĻĄāĻŋāĻ°ā§āĻā§āĻ āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻ¯āĻžāĻ˛ā§ āĻ ā§āĻ¯āĻžāĻ¸āĻžāĻāĻ¨ āĻāĻ°ā§āĻāĻŋāĨ¤
āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻā§ āĻāĻŽāĻ°āĻž āĻ āĻŦāĻļā§āĻ¯āĻ āĻŦā§āĻāĻ¤ā§ āĻĒā§āĻ°ā§āĻāĻŋ āĻ¯ā§ āĻāĻ¸āĻ˛ā§ immutable āĻāĻŋāĻ¨āĻŋāĻ¸ āĻāĻž āĻāĻŋāĨ¤ āĻāĻ¸ā§āĻ¨ āĻāĻāĻ¨ āĻĻā§āĻāĻŋ āĻāĻ¤ āĻ§āĻ°ā§āĻŖā§āĻ° āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻāĻŋāĻ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ āĻāĻā§ :Â
- Number
- String
- Boolean
- Undefined
- Null
- Symbol
āĻ¨āĻ¨-āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻāĻŋāĻ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ
āĻāĻŽāĻ°āĻž āĻĻā§āĻā§āĻāĻŋ āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻāĻŋāĻ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ āĻšāĻā§āĻā§ immutable āĻ¯ā§āĻāĻžāĻ° āĻĄāĻžāĻāĻž āĻāĻ¸āĻ˛ā§ āĻāĻŽāĻ°āĻž āĻŽāĻĄāĻŋāĻĢāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĻ¨āĻž āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻ¨āĻ¨-āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻāĻŋāĻ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ āĻšāĻā§āĻā§ āĻŽāĻŋāĻāĻā§āĻŦāĻ˛, āĻ¯ā§āĻŽāĻ¨ āĻ āĻŦāĻā§āĻā§āĻ, āĻāĻŽāĻ°āĻž āĻāĻžāĻāĻ˛ā§āĻ āĻ āĻŦāĻā§āĻā§āĻ āĻāĻ° āĻā§āĻ¯āĻžāĻ˛ā§ āĻŽāĻĄāĻŋāĻĢāĻžāĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻ˛ā§āĻ¨ āĻāĻāĻāĻž āĻāĻĻāĻžāĻšāĻ°āĻŖ āĻĻā§āĻā§ āĻāĻ¸āĻŋ
type Person{
name: string;
age: number;
city: string
}
let person: Person= {
name: "John",
age: 30,
city: "New York"
};
person.name = "Mahmud" //modify name here
person.city = "Dhaka" // modify city here
console.log(person.name); // Output: Mahmud
console.log(person.age); // Output: 30
console.log(person.city); // Output: Dhaka
let fruits: string[] = ["apple", "banana", "orange"];
console.log(fruits[0]); // Output: apple
fruits[0] = "mango"; // replace apple to mango in index 0
console.log(fruits[0]); // Output: mango
āĻāĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž person āĻ āĻŦāĻā§āĻā§āĻā§āĻ° āĻāĻžāĻāĻĒÂ Person āĻĄāĻŋāĻĢāĻžāĻāĻ¨ āĻāĻ°ā§āĻāĻŋ, āĻāĻāĻžāĻā§ āĻāĻ¸āĻ˛ā§ āĻāĻžāĻāĻĒ āĻ ā§āĻ¯āĻžāĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¸ āĻŦāĻ˛ā§, āĻāĻŽāĻ°āĻž āĻĒāĻ°āĻŦāĻ°ā§āĻ¤āĻŋ āĻ āĻ§ā§āĻ¯āĻžā§ā§ āĻāĻžāĻāĻĒ āĻ ā§āĻ¯āĻžāĻ˛āĻŋāĻ¯āĻŧāĻžāĻ¸ āĻ¨āĻŋā§ā§ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻŦā§āĨ¤
āĻ¤āĻžāĻšāĻ˛ā§ āĻāĻŽāĻ°āĻž āĻĻā§āĻā§āĻ˛āĻžāĻŽ Array āĻ āĻāĻāĻāĻŋ āĻ¨āĻ¨-āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻāĻŋāĻ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒāĨ¤ āĻāĻ°ā§ āĻ āĻ¨ā§āĻ āĻ§āĻ°āĻŖā§āĻ° āĻ¨āĻ¨-āĻĒā§āĻ°āĻŋāĻŽāĻŋāĻāĻŋāĻ āĻĄāĻžāĻāĻž āĻāĻžāĻāĻĒ āĻ¨āĻŋāĻā§ āĻĻā§āĻā§āĻž āĻšāĻ˛ :
- Object
- Array
- Function
- Class
- Tuple
- Interface
- Enum
- Generic
- Decorators