Skip to content

Latest commit

 

History

History
144 lines (105 loc) · 3.36 KB

File metadata and controls

144 lines (105 loc) · 3.36 KB

TypeScript Types vs JavaScript Types

Introduction

TypeScript and JavaScript share some common types as both languages are designed to be compatible. However, TypeScript introduces additional features and concepts related to types that go beyond what is available in JavaScript. Here's a comparison between TypeScript types and JavaScript types:

Table of Contents

Common Types in TypeScript and JavaScript:

  1. Primitive Types:

    • JavaScript:

      let num = 5; // Number
      let str = "Hello"; // String
      let bool = true; // Boolean
    • TypeScript:

      let num: number = 5;
      let str: string = "Hello";
      let bool: boolean = true;
  2. Object:

    • JavaScript:

      let obj = { key: "value" };
    • TypeScript:

      let obj: { key: string } = { key: "value" };
  3. Arrays:

    • JavaScript:

      let arr = [1, 2, 3];
    • TypeScript:

      let arr: number[] = [1, 2, 3];

Additional TypeScript Types and Features:

  1. Union Types:

    • TypeScript:

      let value: number | string;
      value = 10; // Valid
      value = "Hello"; // Valid
  2. Type Aliases:

    • TypeScript:

      type Point = { x: number; y: number };
      let p: Point = { x: 1, y: 2 };
  3. Interfaces:

    • TypeScript:

      interface Person {
          name: string;
          age: number;
      }
      let person: Person = { name: "John", age: 30 };
  4. Enums:

    • TypeScript:

      enum Color {
          Red,
          Green,
          Blue
      }
      let myColor: Color = Color.Green;
  5. Function Types:

    • TypeScript:

      type AddFunction = (a: number, b: number) => number;
      let add: AddFunction = (a, b) => a + b;
  6. Generics:

    • TypeScript:

      function identity<T>(arg: T): T {
          return arg;
      }
      let result: number = identity(10);
  7. Nullable Types:

    • TypeScript:

      let value: number | null = null;
  8. Type Assertion:

    • TypeScript:

      let variable: any = "Hello, TypeScript!";
      let length: number = (variable as string).length;
  9. Declaration Files (.d.ts):

    • TypeScript:

      // example.d.ts
      declare module "example-library" {
          function myFunction(value: string): number;
      }

These additional TypeScript features provide more expressive power, enhance code readability, and catch errors during development, leading to more maintainable and robust codebases compared to JavaScript alone.