TypeScript入門

普通的js類型指定

  let dName: String = 'dav'
let age: Number = 22
let flag: Boolean = false
//聯(lián)合類型,可以申明多種類型,中間用|隔開
let strArr: String | Number = '張飛'
strArr = 24
//數(shù)組也可以使用聯(lián)合類型
let arr: String[] = ['張三', '李四']
let brr: Array<String> = ['王五', '趙六']

let nArr: String[] | number[] = ['張三', '李四']
nArr = [1, 2]
let nBrr: Array<String | Number> = ['王五', '趙六']
nBrr = [3, 4]

let crr: [String, Number, Boolean] = ['關(guān)羽', 28, true]     //元組   指定類型和數(shù)組長度

TS新增類型

//枚舉關(guān)鍵字 enum 創(chuàng)建一個枚舉對象
enum GunType {
  //枚舉項 = 枚舉值--不寫枚舉值默認從0開始添加
  'a' = 0,
  'b' = 1,
  'c' = 2
}
enum GoType {
  c,
  d,
  e
}
let dry: GunType = GunType.a
let cry: GoType = GoType.c
console.log(dry)     //0
console.log(cry)     //0


//any類型一般用在獲取DOM上
let btn: any = document.getElementById('btn')

//void類型代表沒有類型,一般用在沒有返回值的函數(shù)

function fn(): void {
  console.log('可以沒有返回')
}
function fn1(): String {
  return '必須返回指定類型'
}

//never類型 不存在的類型,用作拋出異常是沒有返回

函數(shù)function類型

// function
function neFn(a: Number, b: String): String {
  return a + '' + b
}
let test: String = neFn(18, '張三')
console.log(test)

// function可選參數(shù)   ?,在形參后面加上?就表明這個參數(shù)可傳可不傳

function cfun(a: String, b?: Number): void {
  console.log(a)
}
cfun('李四')

// function 參數(shù)默認值  =值  可以在參數(shù)后面加 =和值 來定義默認值
function dfun(a: string = '黃忠', b: number = 16): void {
  console.log(a + '' + b)
}
//調(diào)用的時候如果沒有傳對應的實參,則會自動使用默認值

dfun()  // 黃忠16 ---兩個參數(shù)都使用默認值

dfun('張飛')   //張飛16 ---第二個參數(shù)使用默認值

dfun('關(guān)羽', 25) //關(guān)羽25   ---兩個參數(shù)都不用默認值

// 當你第二個參數(shù)傳,第一個參數(shù)想使用默認值時可以給第一個參數(shù)傳undefined
dfun(undefined, 18) //黃忠18 ----第一個參數(shù)使用默認值


//function剩余參數(shù)
//當你的函數(shù)不確定后面要傳幾個參數(shù)時,除了固定參數(shù),后面的所有參數(shù)可以用...和一個數(shù)組來接收,只能使用一個剩余參數(shù)
function add(x: number, y: number, ...z: number[]): number{
  let lum: number = x + y
  if (z) {
    z.forEach(item => {
      lum += item
    })
  }
  return lum
}
console.log(1,2)  //3
console.log(add(1,2,3,4,5,6,7,8,9))  //45
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容