久久一区二区三区超碰国产精品,亚洲人成在线网站,国产在线精品一区免费香蕉,国产精品免费电影

歡迎您訪問ES6新API之Reflect對象:設計目的與方法特性解析!

ES6新API之Reflect對象:設計目的與方法特性解析

更新時間:2025-09-03 21:11:14作者:佚名

[]

該實體與代理類似,也是 ES6 為處理對象而新增的一種機制。它的構(gòu)建意圖包含多個方面。

Reflect對象用法_reflect是什么意思_Reflect與Proxy關系

將對象的部分顯著屬于語言體系的方法(諸如點號操作),遷移至對象本身,當前某些方法既在對象上存在,也部署在語言核心,往后新增的方法將僅部署在對象層面,換言之,對象本身能夠獲取語言體系內(nèi)的方法。

調(diào)整部分函數(shù)的輸出,使其更為恰當。舉例來說reflect是什么意思留學之路,當嘗試設定某個屬性卻無法成功時,一個函數(shù)會觸發(fā)異常,而另一個函數(shù)則會產(chǎn)生一個假值。

Reflect對象用法_Reflect與Proxy關系_reflect是什么意思

  1. // 老寫法
  2. try {
  3. Object.defineProperty(target, property, attributes);
  4. // success
  5. } catch (e) {
  6. // failure
  7. }
  8. // 新寫法
  9. if (Reflect.defineProperty(target, property, attributes)) {
  10. // success
  11. } else {
  12. // failure
  13. }

讓所有操作都以函數(shù)形式執(zhí)行。部分操作具有指令式特征,例如name屬于obj以及obj,而.has(obj, name)和.(obj, name)則將它們轉(zhuǎn)化為函數(shù)調(diào)用方式。

  1. // 老寫法
  2. 'assign' in Object // true
  3. // 新寫法
  4. Reflect.has(Object, 'assign') // true

Reflect對象用法_reflect是什么意思_Reflect與Proxy關系

對象上的方法與Proxy對象的方法逐項匹配,只要Proxy對象擁有某個方法,那么在對象中也必然存在相應的方法。這種對應關系使得Proxy對象能夠便捷地調(diào)用對象中的方法,以實現(xiàn)預設的默認操作,并為后續(xù)的行為調(diào)整提供依據(jù)。換句話說,即便Proxy對象對默認行為進行了調(diào)整,依然可以從對象中檢索到原始的默認行為。

  1. Proxy(target, {
  2. set: function(target, name, value, receiver) {
  3. var success = Reflect.set(target, name, value, receiver);
  4. if (success) {
  5. console.log('property ' + name + ' on ' + target + ' set to ' + value);
  6. }
  7. return success;
  8. }
  9. });

那個代碼里的Proxy方法會阻攔對象屬性值的更改動作。它借助.set技術把數(shù)值安放到對象屬性之中,務必要讓原本的動作得以實現(xiàn),隨后再附加其他作用。

下面是另一個例子。

Reflect與Proxy關系_reflect是什么意思_Reflect對象用法

  1. var loggedObj = new Proxy(obj, {
  2. get(target, name) {
  3. console.log('get', target, name);
  4. return Reflect.get(target, name);
  5. },
  6. deleteProperty(target, name) {
  7. console.log('delete' + name);
  8. return Reflect.deleteProperty(target, name);
  9. },
  10. has(target, name) {
  11. console.log('has' + name);
  12. return Reflect.has(target, name);
  13. }
  14. });

上述代碼里,所有Proxy對象的攔截動作,比如獲取、檢查屬性等reflect是什么意思,都通過對應的方法實現(xiàn),確保原始功能不受影響?,F(xiàn)在需要做的,是為每個操作打印一條記錄信息。

Reflect對象用法_reflect是什么意思_Reflect與Proxy關系

有了對象以后,很多操作會更易讀。

  1. // 老寫法
  2. Function.prototype.apply.call(Math.floor, undefined, [1.75]) // 1
  3. // 新寫法
  4. Reflect.apply(Math.floor, undefined, [1.75]) // 1

為您推薦

arise、rise與raise的區(qū)別:不及物與及物動詞用法解析

arise是不及物動詞,它的意思為“發(fā)生,出現(xiàn)”,它的過去式和過去分詞分別為arose和arisen。rise也是個不及物動詞,它的意思為“升起;上升;起床”,它的過去式和過去分詞分別為rose和risen。raise是及物動詞,后面要跟事物,其本身的根本含義是“使上升,讓上升”。

2025-09-03 21:10

安利原是Amway譯名,如今在網(wǎng)絡有了新含義:真心推薦

安利,意思類似推薦。安利,就是指“把自己認為好的東西告訴別人,因為自己喜歡所以真心推薦”。原義為“安利公司”,現(xiàn)詞義引申為:“自己喜歡所以真心推薦”。原義為“想要購買安利產(chǎn)品”,現(xiàn)詞義引申為:“求真誠推薦”。詞義引申為:“請一定要接受我的真心推薦”、“我接受了這個推薦”。

2025-09-03 21:06

reason的用法詳解及多個精彩樣例解析,你知道幾個?

reason的用法和樣例:例句我們有理由相信他是被謀殺的。常用短語工人們通過推理懂得真正的權(quán)力是在他們自己手中。因為天有霧,我們當時不能推斷出我們所在的位置。你應該同孩子講清道理,不要只叫他聽話。與他講道理沒有用。我跟她爭辯了幾個小時,想讓她認識到危險性,但她就是不聽。

2025-09-03 21:06

Rapper是什么意思?一文詳解其在嘻哈文化中的含義

【rapper的中文意思是什么】“Rapper”是一個英文詞匯,常用于音樂領域,尤其是在嘻哈文化中。“Rapper”是英文“rapping”的名詞形式,原意為“說唱”,指的是以節(jié)奏感強的語言進行演唱的一種音樂形式。

2025-09-03 21:05

你以為平平無奇的quote,背后竟藏著這么多故事?

quote這個詞,看上去平平無奇,每個人第一反應都是“引用”對吧?這變化,是不是有點傳奇味?生活中,quote并不是“高冷學者”專屬。好的quote,是能夠激起思考的,有時候還會成為流行語的“種子”。我非常建議,每次看到喜歡的quote都留意下來,無論是英文還是中文。

2025-09-03 21:05

英語學習從記單詞起步,今天來學railway啥意思?

英語的學習是從記單詞開始的,過低的詞匯量極大限制著學生英語聽、說、讀、各方面水平的快速提升。今天我們要學習的單詞是railway。上面為同學們解釋了railway是什么意思,并且整理了railway的相關知識點,希望對同學們有幫助。

2025-09-03 20:26

加載中...
主站蜘蛛池模板: 城步| 稻城县| 尤溪县| 淅川县| 泗洪县| 安吉县| 漠河县| 遂溪县| 彭山县| 巍山| 东山县| 油尖旺区| 卢湾区| 宁远县| 裕民县| 穆棱市| 翁牛特旗| 天等县| 商南县| 灯塔市| 舒兰市| 炎陵县| 克什克腾旗| 怀安县| 青州市| 保亭| 菏泽市| 阿拉善右旗| 石门县| 容城县| 苍南县| 周宁县| 思南县| 临洮县| 息烽县| 嫩江县| 通许县| 禄丰县| 团风县| 吕梁市| 天全县|