Javascript 在JS中,是否可以获取一个对象,为属性赋值并将其发送到一行中的另一个函数?

Javascript 在JS中,是否可以获取一个对象,为属性赋值并将其发送到一行中的另一个函数?,javascript,object,Javascript,Object,下面是一段JS代码: function getObj(){ return {p1: "None"}; } function printObj(obj){ console.log(obj.p1); } //Create an object let o = getObj(); // Assign val o.p1 = "Val2"; //send to Print printObj(o); 有没有可能在一个短的行中做同样的

下面是一段JS代码:

function getObj(){
    return {p1: "None"};
}

function printObj(obj){
    console.log(obj.p1);
}
//Create an object  
let o = getObj();

// Assign val
o.p1 = "Val2";

//send to Print
printObj(o);
    
有没有可能在一个短的行中做同样的事情-类似下面的事情

printObj(getObj().p1 = "Val1");
编辑
在编写的短代码中比较不同的方法。

您可以使用spread运算符,它将从函数中获取一个对象,并使用所有对象字段生成一个新对象。 而剩下的就是超越道具

printObj({...getObj(), p1: "Val1"});
函数getObj(){ 返回{p1:“无”}; } 函数printObj(obj){ 控制台日志(obj.p1); } //创建一个对象 设o=getObj(); //赋值 o、 p1=“Val2”; //发送打印 printObj(o); //一网打尽
printObj({…getObj,p1:“Val2”})
p1:“Val1”
=
在那里无效。@jornsharpe谢谢,我的错。@OrYaacov它在效率和速度方面更好吗?更好的方法是什么?这个解决方案还是简单的三行代码方法?
printObj(Object.assign(getObj(),{p1:'Val1'}))。。。这种方法直接更改
getObj()
的返回值;这样就跳过了另一个对象的创建过程,比如说,
{…getObj(),p1:“Val1”}
,后者类似于
对象。张贴。看起来像
{p1:'Val1'}
也创建了一个对象,正如这里正确提到的那样