FFYY-7216 4-TS

TS基礎

typescript 是 javascript 的超集,支持 ecmascript6標準
比 javascript 多了一個類型檢查

any unknown never void

interface

定義一個類型接口,使用過程中約束

  1. interface object
interface User {
  name:string
  age?:number
  readonly id:number
}
  1. interface fucntion 函數(shù)類型
interface UserFun {
  (name:string,ange:number): void;
}
// 使用
const myfun:UserFun = (name,age) => {
  console.log('name')
}

類 class

class Greeter {
    greeting: string;
    constructor(message: string) {
        this.greeting = message;
    }
    greet() {
        return "Hello, " + this.greeting;
    }
}

let greeter = new Greeter("world");

我們使用new構造了Greeter類的一個實例。 它會調(diào)用之前定義的構造函數(shù),創(chuàng)建一個Greeter類型的新對象,并執(zhí)行構造函數(shù)初始化它

泛型

約定類型占位

//不用泛型:
function test(arg:number):number{
  return arg;
}
// 使用泛型
fucntion test1<T>(arg:T):T{
  return arg
}

枚舉

使用枚舉我們可以定義一些有名字的數(shù)字常量。

enum Direction {
    Up = 1,
    Down,
    Left,
    Right
}

迭代器和生成器

iterators():Iterator
Generator

裝飾器

裝飾器是一種特殊類型的聲明,它能夠被附加到類聲明,方法, 訪問符,屬性或參數(shù)上。 裝飾器使用 @expression這種形式,expression求值后必須為一個函數(shù),它會在運行時被調(diào)用,被裝飾的聲明信息做為參數(shù)傳入。

@sealed
class Greeter {
    greeting: string;
    constructor(message: string) {
        this.greeting = message;
    }
    greet() {
        return "Hello, " + this.greeting;
    }
}

繼承 多態(tài) 重載 重寫

面向?qū)ο笳Z言的特征

繼承

class Person{
  move(){
    console.log('yidong')
  }
}
class Human extends Person{
  constructor(theName:string){
    super()
  }
}
const human = new Human();
human.move()//

重寫

子類重寫父類中的方法,當子類繼承父類的時候,調(diào)用方法,則會執(zhí)行子類中的方法,不會執(zhí)行父類中的方法

class Person{
  move(dis){
    console.log(dis+'fuqin')
  }
}
class Human extends Person{
  constructor(theName:string){
    super()
  }
  move(dis){
    console.log(dis+'children')
  }
}
const human = new Human();
human.move(33)//

重載

方法參數(shù)不同,調(diào)用的方法不同

抽象類&抽象方法

面試題

1、什么是什么類型推論
根據(jù)上下文環(huán)境推導出來變量的類型叫類型推論。
2、一下的類型

let f = null;//f 推論為 any

3、type 和 inferface 的區(qū)別
interface 側(cè)重與描述數(shù)據(jù)結(jié)構,type(類型別名)側(cè)重與描述類型
不同點:

  1. interface 可以多次定義,合并,type 不行
  2. type 能使用 in關鍵字,interface 不行
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

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