X 2 3
X 2 3
data.toLowerCase();
if (typeof data === 'string') {
console.log(`It's string: ${data}`)
} else if (typeof data === 'number') {
console.log(`It's number: ${data}`)
}
}
class Square {
constructor(public width: number) {}
}
class Rectangle {
constructor(public width: number, public height: number ) {}
}
// type = {
// name: string;
// age: number;
// };
// type UpdatePersonType = Partial<PersonType>;
// type PersonType = {
// name: string;
// age: number;
// };
// type ReadonlyPersonType = Readonly<PersonType>;
// const person: ReadonlyPersonType = { name: 'Simon', age: 17 };
// person.name = 'John';
class Person {
constructor(
public name: string,
public age: number
) {}
}
type PersonConstructorParams = ConstructorParameters<typeof Person>;
// type PersonType = {
// name: string;
// age: number;
// };
// type ProductType = {
// name: string;
// price: number;
// };
type ProductType = {
name: string;
price: number;
}
type ReviewType = {
rating: 0 | 1 | 2 | 3 | 4 | 5;
comment: string;
}
type ProductReviewType = ProductType & ReviewType;
// type BasicArgType = {
// date: Date;
// level: 'info' | 'error' | 'debug';
// obj: any;
// };
// type BasicArgType = {
// date: Date;
// level: 'info' | 'error' | 'debug';
// obj: any;
// };
// let output = loggingArgs({ date: new Date(), level: 'info', obj: 'test'});
// type OptionsFlags<Type> = {
// [Property in keyof Type]: boolean;
// };
// type Features = {
// darkMode: () => void;
// silenceMode: () => void;
// };
// type FeaturesConfigType = {
// [key: string]: boolean;
// };
type Features = {
appearanceMode: (input: 'dark' | 'light' | 'auto') => void;
silenceMode: (input: boolean) => void;
};
console.log(strValue.toLowerCase());