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 可以指定預設值...