JavaScript 赋值属性语句以返回父对象

javascript assign property statement to return parent object

本文关键字:返回 对象 语句 赋值 属性 JavaScript      更新时间:2023-09-26

我试图得到这样的东西:

// 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');

我对某种使=甚至.运算符过载的方法更感兴趣,但我不知道这是否可能或如何做到这一点。

你不能那样做。

你可以编写一个简单的帮助程序:

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