天天看點

通用JS七

instanceof

在原型鍊上尋找這個屬性的定義

通用JS七

match

正則比對字元串

Symbol()

Symbol()函數不能用作構造函數,與new關鍵字一起使用。這樣做是為了避免建立符号包裝對象,像使用Boolean、String、Number那樣,他們都支援構造函數且可用于初始化原始值的包裝對象

Symbol.for()

在全局符号系統資料庫中建立并重用符号

Symbol.keyFor()

查詢全局系統資料庫

<col>

Object.getOwnPropertyNames()

Object.getOwnPropertySymbols()

Object.getOwnPropertyDescriptors()

傳回對象執行個體的正常屬性數組

傳回對象執行個體的符号屬性數組

同時傳回正常和符号屬性描述的對象

["baz","qux"]

[Symbol(foo),Symbol(bar)]

["baz","qux",Symbol(foo),Symbol(bar)]

常用内置符号

這些内置符号也沒有什麼特别之處,他們就是全局函數Symbol的普通字元串屬性,指向一個符号的執行個體。所有内置符号屬性都是不可寫、不可枚舉、不可配置的。

Symbol.asyncIterator

根據ECMAScript規範,該符号作為一個屬性表示一個方法,該方法傳回對象預設的AsyncIterator。由for-await-of語句使用。換句話說,這個符号表示實作異步疊代器API的函數。

for-await-of循環會利用這個函數執行異步疊代操作。循環時,他們會調用Symbol.asyncIterator為鍵的函數,并期望這個函數會傳回一個實作疊代器Api的對象。很多時候,傳回的對象是實作該Api的AsyncGenerator

Symbol.replace

該函數接收兩個參數,即調用replace()方法的字元串執行個體和替換字元串。傳回的值沒有限制:

Symbol.search

該符号作為一個屬性表示“一個正規表達式方法,該方法傳回字元中比對正規表達式的索引。”正規表達式的原型上預設有這個函數的定義,是以所有正規表達式執行個體預設是這個String方法的有效參數

下一篇: JDBC通用DAO