古詩詞大全網 - 個性簽名 - 進階TS高級類型,泛型

進階TS高級類型,泛型

交叉類型 intersection types是將多個類型合並成壹個類型

聯合類型表示壹個值可以是幾種類型之壹

使用類型斷言,需要多次判斷十分麻煩。所以使用類型保護

typeof 只能用於 number , string , boolean , symbol (只有這幾種類型會被認為是類型保護)

對於任何類型 T, keyof T的結果為 T上已知的公***屬性名的聯合

1)首先,使用keyof關鍵字,它是索引類型查詢操作符,它能夠獲得任何類型T上已知的公***屬性名的聯合。如例子中,keyof T相當於'name' | 'age'

2)然後,K extends keyof T表明K的取值限制於'name' | 'age'

3)而T[K]則代表對象裏相應key的元素的類型

keyof和 T[K]與字符串索引簽名進行交互。 如果妳有壹個帶有字符串索引簽名的類型,那麽 keyof T會是 string。 並且 T[string]為索引簽名的類型:

它的語法與索引簽名的語法類型,內部使用了 for .. in。 具有三個部分:

我們還可以寫出更多的通用映射類型,如:

/archives/266/

結論:

(1) this始終等於currentTarget即事件的監聽函數所綁定的節點對象

(2) target指的是最初觸發事件的監聽函數的節點對象

實例:

js繼承機制的思想:原型對象的所有屬性和方法,都能被實例對象***享。

prototype對象默認有壹個constructor屬性,默認指向prototype對象所在的構造函數

instanceof返回壹個boolean值,表示對象是否為某個構造函數實例

Object.getPrototypeof() 返回參數對象的原型,這是獲得原型對象的標準方法

Object.setPrototypeof(a, b)為參數對象設置原型,返回 參數對象

Object.create( ) 以參數對象為原型,返回實例對象

實例對象的 isPrototypeof 方法,用來判斷該對象是否是參數對象的原型