1. 程式人生 > 其它 >3.集合類不安全

3.集合類不安全

陣列與元組

/**
 * 陣列
*/
let arrOfNumbers: number[] = [1, 2, 3]

/**
 * 元組
*/
let arr: [number, string] = [1, 'ljx']
arr.push(456)
// arr.push(true)
console.log(arr)

物件介面

/**
 * interface 介面(對物件的形狀進行描述)
*/
interface Person {
  // 只執行初始化時賦值,而後只讀,不可寫
  readonly id: number
  name: string;
  // 可選屬性
  age?: number;
}
let obj: object | Person = {}

/**
 * Partial 可選
*/
interface Student {
  name: string;
  age: number;
}

// const student1: Student = {}
const student2: Partial<Student> = {}
student2.name = 'ljx'
student2.age = 18

函式

/**
 * 函式
*/
function add(a: number, b: number, c?: number): number {
  if (c) {
    return a + b + c
  } else {
    return a + b
  }
}

/**
 * 常量函式
*/
const add2 = function (a: number, b: number, c?: number): number {
  if (c) {
    return a + b + c
  } else {
    return a + b
  }
}

/**
 * 箭頭函式
*/
const add3 = (a: number, b: number, c?: number): number => {
  if (c) {
    return a + b + c
  } else {
    return a + b
  }
}

/**
 * 函式賦值
*/
const add4: (a: number, b: number, c?: number) => number = add3

/**
 * 使用interface進行函式賦值
*/
interface ISum {
  (a: number, b: number, c?: number): number
}
const add5: ISum = add