是否可以创建一个像对象一样的伪对象,但是返回作为值传递给它的任何键?
var foo = new pseudoObject()
foo['test'] -> 'test'
food[1] -> 1
foo.something -> 'something'
Object.keys(foo) -> []
foo.next = "string";
foo.next -> 'next'
Object.keys(foo) -> []
有可能吗?
表示完整性 我有一个转换表,它接受一个对象,并根据这些值的对象键切换所有值..
"{{this}} is a {{sentence}}"
Obj1 = {this: 'that', sentence: 'apple'}
事情就是这个'和'句子'也是实际值。我选择这样做是因为它使句子更具可读性而不是{{key1}}是{{key2}},所以它还想传递对象:
ObjOrginal = {this:'this',sentence:'sentence'}
因为那样我就不必改变任何东西了。 写出这个对象是不切实际的,所以我想知道是否有办法创建这样一个对象。
答案 0 :(得分:1)
这是ES6功能。迄今为止只有FF支持。但它可以做你想要的。
var handler = {
get: function(target, name){
return name;
}
};
var p = new Proxy({}, handler);
您可以找到更多here