免费可以看的无遮挡av无码|国产在线拍揄自揄视频网站|在线无码精品视频播放在|欧美亚洲国产成人精品,国产成人久久77777精品,亚洲欧美视频在线观看,色偷偷色噜噜狠狠网站久久

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 前端技巧-JS元編程ES6 symbol公開符號

前端技巧-JS元編程ES6 symbol公開符號

來源:千鋒教育
發(fā)布人:小千
時間: 2021-06-30 09:06:00 1625015160

      元編程就是指以操作目標(biāo)為程序本身的行為特性的編程,而在ES6中增加了類型symbol,除了自定義的符號之外,還預(yù)定義了其他的一些內(nèi)置符號,可以被稱為內(nèi)置符號。下面就來給大家介紹一下這些內(nèi)置符號。

      1. Symbol.iterator

      這個符號表示任意對象上的一個專門的屬性,語言機制會自動的在這個屬性上尋找一個方法,這個方法會構(gòu)造一個迭代器來消耗這個對象的值。… 展開和 for…of 循環(huán)會自動使用它。

      我們也可以通過自定義 Symbol.iterator 屬性為任意對象值定義自己的迭代器邏輯,它將覆蓋默認的迭代器。我們相當(dāng)于是定義了一種元編程的行為,提供給JavaScript其他部分(也就是運算符和循環(huán)結(jié)構(gòu))在處理定義的對象時使用。

<a href=web前端培訓(xùn)1" />

      2. Symbol.toStringTag 與 Symbol.hasInstance

      在日常邏輯中經(jīng)常出現(xiàn)的一個場景,判斷一個值是什么類型,通常使用的是 toString() 和 instanceof 。

web前端培訓(xùn)2

      現(xiàn)在 ES6 中,可以定義這些操作的行為特性了。

web前端培訓(xùn)3

      通過以上案例我們可以看出:

      toStringTag 符號指定了在 [object XXXX] 字符串化時使用的字符串值。

      hasInstance 符號是在構(gòu)造器函數(shù)上的一個方法,接受實例對象值,通過返回 true 或者 false 來顯示這個值是否可以被認為是一個實例。

      在 Function.prototype 上 hasInstance 默認的 writable 是 false,不可寫入??梢酝ㄟ^ Object.defineProperty() 來繞開它。

      3. Symbol.species

      這個符號控制要生成新的實例時,類的內(nèi)置方法使用哪一個構(gòu)造器。 內(nèi)置原生構(gòu)造器 Symbol.species 的默認行為是 return this 。 如果要定義生成新的實例的方法,使用new this.constructorSymbol.species ,然后繼承的類就可以根據(jù)它來控制由哪個構(gòu)造器來產(chǎn)生這些實例。

web前端培訓(xùn)4

      4. Symbol.toPrimitive

      在ES6之前,對象為了某個操作(例如相加 + 或比較 == )必須強制轉(zhuǎn)換為原生類型時,是無法控制該行為的 ,現(xiàn)在可以通過Symbol.toPrimitive這個符號來控制這個行為。

web前端培訓(xùn)5

      Symbol.toPrimitive 方法根據(jù)調(diào)用 ToPrimitive 的運算期望的類型,會提供一個類型(type) 指定 "string"、"number" 或 "default"。

      以上就是es6 symbol的介紹了,歡迎對其他前端技術(shù)感興趣的同學(xué)來到千鋒web前端培訓(xùn)班了解我們的大前端培訓(xùn)課程,全程名師面授確保教學(xué)質(zhì)量,現(xiàn)在咨詢還有全套免費學(xué)習(xí)資料可以領(lǐng)取,趕緊來了解一下吧。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
岳阳县| 葵青区| 友谊县| 介休市| 肥城市| 江口县| 巴林左旗| 东平县| 山东省| 兴隆县| 乌海市| 如东县| 沁源县| 彩票| 新乐市| 博湖县| 郧西县| 玉门市| 仙桃市| 汶上县| 兰溪市| 饶河县| 英吉沙县| 奈曼旗| 兴化市| 延长县| 英德市| 杭锦后旗| 揭东县| 江安县| 新闻| 广河县| 泰和县| 天气| 固镇县| 凤凰县| 房产| 金秀| 靖州| 金秀| 鲁山县|