ES6相關擴充套件 四

2021-09-10 15:08:40 字數 907 閱讀 6098

proxy

proxy.revocable() 返回乙個可取消的 proxy 例項

let target = {};

let handler = {};

let = proxy.revocable(target, handler);

proxy.foo = 123;

proxy.foo // 123

revoke();

proxy.foo // typeerror: revoked

this 問題

雖然 proxy 可以**針對目標物件的訪問,但它不是目標物件的透明**,即不做任何攔截的情況下,也無法保證與目標物件的行為一致。主要原因就是在 proxy **的情況下,目標物件內部的this關鍵字會指向 proxy **。

const _name = new weakmap();

class person

get name()

} const jane = new person('jane');

jane.name // 'jane'

const proxy = new proxy(jane, {});

proxy.name // undefined

// 解決辦法

const target = new date('2015-01-01');

const handler =

return reflect.get(target, prop);}};

const proxy = new proxy(target, handler);

proxy.getdate() // 1

reflect

ES6相關擴充套件 一

字串的擴充套件 數值的擴充套件 函式的擴充套件 陣列的擴充套件 擴充套件運算子 2,3,4 array.from array.from方法用於將兩類物件轉為真正的陣列 類似陣列的物件 array like object 和可遍歷 iterable 的物件 包括 es6 新增的資料結構 set 和 m...

ES6相關知識點

一 箭頭函式和普通函式的區別 普通函式中的this 1.this總是代表它的直接呼叫者,例如 obj.func 那麼func中的this就是obj 2.在預設情況 非嚴格模式下,未使用 use strict 沒找到直接呼叫者,則this指的是 window 3.在嚴格模式下,沒有直接呼叫者的函式中的...

ES6相關特性 解構賦值

解構賦值 本質上是一種匹配模式,等號兩邊的模式相同,則左邊的變數可以被賦予對應的值。注意 null undefined 不能解構賦值!陣列的解構賦值 let a,b c 1,2 3 a 1,b 2,c 3 let c 1,2,4 c 4 let x let x x undefined 可以指定預設值...