const myObject = { ...object1, ...object2 } 在 JS 中的计算结果是什么?
What does const myObject = { ...object1, ...object2 } evaluate to in JS?
我继承了 React Native 代码库中的一些代码,只是很好奇这种语法的含义。似乎无法通过谷歌搜索找到一个好的答案,但我有控制台记录它似乎是:
const myObject = object2 ? ojbect2 : object1
类似于:
const myObject = { ...object1, ...object2}
首先是逻辑运算符。
const myObject = object2 ? ojbect2 : object1
相当于:
const myObject = ()=>{if(object2){return object2}else{return object1}}
对于另一个,扩展语法,see this page 描述它是如何工作的。
它应该用于扩展内联对象以传递给任何其他对象 object/function.
这个const myObject = { ...object1, ...object2}
被称为使用spread sysntax
的对象的属性组合,因此您可以使用多个对象的属性创建对象。
例如,以下示例说明了函数 Object.assign
和传播语法的关系。
传播语法
let object1 = {
"name": "Ele"
};
let object2 = {
"from": "Stack"
};
const myObject = { ...object1, ...object2};
// Now myObject is a combination of the previous objects.
console.log(myObject);
Object.assign
let object1 = {
"name": "Ele"
};
let object2 = {
"from": "Stack"
};
const myObject = Object.assign({}, object1, object2);
// Now myObject is a combination of the previous objects.
console.log(myObject);
我继承了 React Native 代码库中的一些代码,只是很好奇这种语法的含义。似乎无法通过谷歌搜索找到一个好的答案,但我有控制台记录它似乎是:
const myObject = object2 ? ojbect2 : object1
类似于:
const myObject = { ...object1, ...object2}
首先是逻辑运算符。
const myObject = object2 ? ojbect2 : object1
相当于:
const myObject = ()=>{if(object2){return object2}else{return object1}}
对于另一个,扩展语法,see this page 描述它是如何工作的。 它应该用于扩展内联对象以传递给任何其他对象 object/function.
这个const myObject = { ...object1, ...object2}
被称为使用spread sysntax
的对象的属性组合,因此您可以使用多个对象的属性创建对象。
例如,以下示例说明了函数 Object.assign
和传播语法的关系。
传播语法
let object1 = {
"name": "Ele"
};
let object2 = {
"from": "Stack"
};
const myObject = { ...object1, ...object2};
// Now myObject is a combination of the previous objects.
console.log(myObject);
Object.assign
let object1 = {
"name": "Ele"
};
let object2 = {
"from": "Stack"
};
const myObject = Object.assign({}, object1, object2);
// Now myObject is a combination of the previous objects.
console.log(myObject);