如何在Javascript中推送到代理对象中的数组值

时间:2017-09-26 13:10:29

标签: javascript ecmascript-6

在普通对象中我们可以推送到正常的数组值,如obj.l = []; obj.l.push( “测试”)

实施例。

var prxy =  new Proxy({} , {
get(target, name){
    return target[name]
}, 
set(target,name, value){
    target[name] = value; 
    return true;
}
})

prxy.h = {test : "test"}
>> {test: "test"}
prxy.h
>>{test: "test"}
prxy.h.push("test")
>>VM2724:1 Uncaught TypeError: prxy.h.push is not a function
at <anonymous>:1:8

1 个答案:

答案 0 :(得分:4)

您不能在对象上使用数组方法。无论如何,这里真的不会有任何意义。当您可以向对象附加值时,没有理由使用push()

prxy.h.someKey = someValue;