Typescript object

Created By: chatGPT

TypeScript is a superset of JavaScript that adds static types. It helps in building robust applications by catching errors at compile time rather than at runtime. Here’s how to create an object in TypeScript: You can define a type or interface to specify the shape of the object, allowing for better type safety.
interface Person {
    name: string;
    age: number;
    isEmployed: boolean;
}

const person: Person = {
    name: 'Alice',
    age: 30,
    isEmployed: true
};
You can also use class syntax to define objects. Classes provide a clearer structure for objects and can include methods as well. This is especially useful for object-oriented programming paradigms in TypeScript.
class Employee {
    name: string;
    age: number;
    position: string;

    constructor(name: string, age: number, position: string) {
        this.name = name;
        this.age = age;
        this.position = position;
    }

    displayInfo() {
        return `${this.name}, ${this.age} - ${this.position}`;
    }
}

const employee = new Employee('Bob', 28, 'Developer');
console.log(employee.displayInfo());
In addition to defining objects with interfaces and classes, you can also create objects on the fly using inline object notation, which is straightforward but doesn’t provide as much type checking. This approach is handy for simple structures.
const user = {
    username: 'john_doe',
    isActive: true,
    login() {
        console.log(`${this.username} has logged in.`);
    }
};

user.login();
Introduction And SetupVariablesData TypesAnyUnknownVoidNeverStringNumberBooleanArrayTupleEnumObjectInterfaceType AliasMethodsFunctionArrow FunctionReturn TypeParametersDefault ParametersOptional ParametersRest ParametersControl FlowIf StatementElse StatementSwitch StatementFor LoopWhile LoopDo While LoopFor...of LoopFor...in LoopBreak StatementContinue StatementFunctionsFunction OverloadingRecursive FunctionExpression FunctionOperatorsArithmetic OperatorsAssignment OperatorsComparison OperatorsLogical OperatorsBitwise OperatorsConditional (ternary) OperatorData StructuresArrayTupleObjectMapSetCommentsSingle Line CommentMulti Line CommentSyntaxType AnnotationsType InferenceNamespaceModuleExportImportDecoratorsAmbient DeclarationsEvent HandlingEvent ListenersAddEventListenerRemoveEventListenerError HandlingTry...catch StatementThrow StatementFinally BlockCustom Error TypesAsync AwaitPromisesGenericsConditional TypesMapped TypesIntersection TypesUnion TypesLiteral TypesDiscriminated UnionsType GuardsTypeof GuardInstanceof GuardAssertion FunctionsModule Augmentation