javascript分配属性语句返回父对象

标签 javascript operator-overloading assignment-operator

我正在尝试得到这样的东西:

// 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;
}

关于javascript分配属性语句返回父对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19321458/

相关文章:

javascript - 取一个字符串,对其进行评估并查找是否有一个数字并将字符串的一部分重复该次数?

c++ - 在复制赋值运算符中分配基类成员

r - 从一个函数中向.GlobalEnv分配多个对象

c++ - 重载赋值运算符 - 多态容器

javascript - 使用示例数据重新排列 json

php - 如何在旧版项目中实现测试框架

F#:为什么在重载成员函数时需要提供参数类型?

C++ 模板元编程 : overloading operators

c++ - 在 C++ 错误中重载 << 运算符:::二进制 '<<':未找到运算符,它采用类型为“const std::string”的右手操作数

javascript - 如何在网页中嵌入VLC