4.2 DataType - quan1997ap/angular-app-note GitHub Wiki

Use

Example 1:

function listen(port: string | number) {
  // do listen
}

Example 2:

function getSomething(): string | number {
  return 'string'; // works
  return 30; // works
  return true; // TypeError: Returned expression type boolean is not assignable to type string | number
}

Example 3:

type StringOrNumber = string | number;

1. Default types trong TS

let someString: string;
let someNumber: number;
let someBoolean: boolean;
let something: any; // có thể gán sang cho bất kỳ kiểu dữ liệu nào khác
let someStringArray: string[]; // tương tự cho number[], boolean[], any[]
let someObject: object;
let someNull: null;
let someUndefined: undefined;
let someUnknown: unknown;
let someNever: never; // ví dụ như một hàm throw exception
let someTuple: [string, number];
let someVoidFunction: () => void; // một hàm không trả về giá trị gì sau khi thực thi
let someFunction: () => string; // một hàm trả về giá trị có type "string" sau khi thực thi

Define Object

items: Array<{ age: number }>

2. Type

export type User = {
  firstName: string;
  lastName: string;
  age: number;
  job?: string;
};

3. Class

class User {
  firstName: string;
  lastName: string;
  age: number;
  job?: string;

  constructor(firstName: string, lastName: string, age: number, job?: string) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.age = age;
    this.job = job;
  }
}

4. Generics

https://github.com/quan1997ap/angular-app-note/wiki/Generics-trong-TypeScript