giritharan
Wed May 08 2024
Classes And Functions in Ts.
Classes:
• Ts add helps to add type annotations for the classes.
• In Ts we don't need to initialize the properties and values inside the constructor if we are using access modifiers in the params. TypeScript will automatically initialise and assign values to class properties.
Getters / Setters:
• Classes can also have accessors
• For the getter function we can able to set return value type but for setter function we can't.
• setter functions are always expected props.
• If a getter exists but no setter the property is automatically
• If the type of the setter parameter is not specified, it is inferred from the return type of the getter
• For class props always try to use
Abstract:
• If
• So that reason we can't create object on the class who are marked as
#typescript #javascript
Classes:
• Ts add helps to add type annotations for the classes.
class User {
constructor(public name: string, public age: number) {}
}
const ue = new User("github", 24);
• In Ts we don't need to initialize the properties and values inside the constructor if we are using access modifiers in the params. TypeScript will automatically initialise and assign values to class properties.
Getters / Setters:
• Classes can also have accessors
• For the getter function we can able to set return value type but for setter function we can't.
• setter functions are always expected props.
• If a getter exists but no setter the property is automatically
readonly
• If the type of the setter parameter is not specified, it is inferred from the return type of the getter
• For class props always try to use
_
name convention for better maintainbility.
class User {
private _currentCount: number = 0;
constructor(public name: string, public age: number) {}
get fetch_name(): string {
return this._name;
}
get fetchCount(): number {
return this._currentCount;
}
set increaseCount(prop: number) {
this._currentCount = prop + this._currentCount;
this.logData();
}
private logData(): void {
console.log("Count Increased");
}
}
const fetchUser = new User("github", 24);
Abstract:
• If
classes or method
are marked as abstract those are only for readonly purposes, means they can be only used as base class/sub class.• So that reason we can't create object on the class who are marked as
abstract
.
abstract class Photo {
constructor(public isCameraOn: boolean, public isFlashOn: boolean) {}
}
class Phone extends Photo {}
const ph = new Phone(true, true);
#typescript #javascript