2013-10-11 44 views
0

我想要得到的東西是這樣的:JavaScript的分配屬性語句返回父對象

// instead of having to write 
a.b = 'c'; return a; 
// i'd like to write 
return a.b = 'c'; 
// but this will return a.b instead of a 
// a (cumbersome) alternative is 
return Object.defineProperty(a, 'b', {value: 'c', 
             enumerable: true, 
             writable: true, 
             configurable: true}) 
// or using a shorthand function 
function set(target, property, value){ 
    return Object.defineProperty(target, property, {value: value, 
              enumerable: true, 
              writable: true, 
              configurable: true}); 
} 
return set(a, 'b', 'c'); 

我會更感興趣的是超載=甚至.運營商的某種方式,但我不知道這是可能的或如何做到這一點。

回答

3

你不能那樣做。

你可以寫一個簡單的輔助:

function set(target, property, value) { 
    target[property] = value; 
    return target; 
} 
+0

或太:) +1 – Renaud