Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在常量中使用Javascript扩展运算符_Javascript - Fatal编程技术网

在常量中使用Javascript扩展运算符

在常量中使用Javascript扩展运算符,javascript,Javascript,重新界定原来的问题,因为它造成了混乱- 下面的代码- var BoldText = '' const currentTheme = { BoldText: { color: 'black' }, Text:{ ...BoldText, fontSize:10 } } 生成此输出- console.log(currentTheme.Text) VM254:1 {fontSize: 10} {color:'black', fontSize: 10} 而我希望这能产生这个

重新界定原来的问题,因为它造成了混乱-

下面的代码-

var BoldText = ''

const currentTheme = {
  BoldText: {
    color: 'black' 
  },
  Text:{ ...BoldText, fontSize:10 }
}
生成此输出-

console.log(currentTheme.Text)
VM254:1 {fontSize: 10}
{color:'black', fontSize: 10}
而我希望这能产生这个输出-

console.log(currentTheme.Text)
VM254:1 {fontSize: 10}
{color:'black', fontSize: 10}

有人能帮我理解为什么吗?

在您的示例中,
var BoldText
未设置,因此
未定义。当您要调用它时,
currentTheme
中的
BoldText
尚未声明,这将导致错误

相反,您可以在外部定义
BoldText
,然后在
currentTheme
中多次使用它。

const BoldText={
颜色:'黑色',
};
const currentTheme={
黑体字,
正文:{
…BoldText,//使用BoldText的内容
fontSize:10,//并添加更多内容。
}
}

console.log(currentTheme.text);//现在,`BoldText`的内容在`currentTheme.text`
中,您已经声明了变量“BoldText”,但从未定义过它。这就是为什么它显示未定义。 此外,扩展运算符中也存在语法错误

看看下面的代码

var BoldText = {foo: 'bar'};

  const currentTheme = {
      BoldText: {
        color: 'black' 
         },
        text:{ ...BoldText }
       }

为什么要传播?听起来您可能想要
text:{BoldText}
{…{BoldText},fontSize:10}
这应该是
{…BoldText,fontSize:10}
(扩展
BoldText
)?您希望在
BoldText
中有什么样的值?原语、数组还是对象?如果你能展示一些你想要的具体例子,那就是great@ShibasisSengupta请用你想要的结果的一些例子来编辑你的问题。关于例子的请求是否有一些混淆?请给出一个
BoldText
对象的真实示例,说明生成的
currentTheme
应该是什么样子。OP在
currentTheme
中有一个名为
BoldText
的属性,它不是对
BoldText
变量的引用,因此我认为您的答案可能有点离谱。在我看来——尽管我在这里做了假设——OP首先希望重用
currentTheme.BoldText
。是的,这个问题仍然很令人困惑。根据修改后的问题,这似乎是正确的答案。OP似乎希望所有的
BoldText
实例都相同,因此这需要将
const BoldText
设置为对象中需要的属性。接受它。。。这是最接近的,因为它可以得到什么我正试图做。。。我的方法是错误的。。。对不起,这是漫长的一天