Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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_Javascript Objects_Destructuring - Fatal编程技术网

JavaScript中的解构和初始化

JavaScript中的解构和初始化,javascript,javascript-objects,destructuring,Javascript,Javascript Objects,Destructuring,在JavaScript中初始化是如何工作的?我在下面的代码中发现一个错误,在初始化之前无法访问obj 设a=7; 设b=10; 常量obj={a:23,b:35,c:70} ({a,b}=obj); 控制台日志(a,b)这是因为您依赖于自动分号插入,并且在const obj…行之后没有添加自动分号。如果没有一个表达式,则该行和下面的一行将被视为一个表达式,它在初始化之前确实尝试访问obj: const obj = { a:23, b:35, c:70 }({a, b} = obj); 对于解

在JavaScript中初始化是如何工作的?我在下面的代码中发现一个错误,在初始化之前无法访问
obj

设a=7;
设b=10;
常量obj={a:23,b:35,c:70}
({a,b}=obj);

控制台日志(a,b)这是因为您依赖于自动分号插入,并且在
const obj…
行之后没有添加自动分号。如果没有一个表达式,则该行和下面的一行将被视为一个表达式,它在初始化之前确实尝试访问
obj

const obj = { a:23, b:35, c:70 }({a, b} = obj);
对于解析器来说,这看起来像一个函数调用。如果您没有尝试访问解析器认为是参数列表中的
obj
,那么当它调用对象时,它就会失败,因为该对象是不可调用的

您需要一个显式分号来分隔语句:

设a=7;
设b=10;

const obj={a:23,b:35,c:70};// 这是因为您依赖于自动分号插入,并且在
const obj…
行之后没有添加自动分号。如果没有一个表达式,则该行和下面的一行将被视为一个表达式,它在初始化之前确实尝试访问
obj

const obj = { a:23, b:35, c:70 }({a, b} = obj);
对于解析器来说,这看起来像一个函数调用。如果您没有尝试访问解析器认为是参数列表中的
obj
,那么当它调用对象时,它就会失败,因为该对象是不可调用的

您需要一个显式分号来分隔语句:

设a=7;
设b=10;

const obj={a:23,b:35,c:70};// 在
}

设a=7;
设b=10;
const obj={a:23,b:35,c:70};
({a,b}=obj);

控制台日志(a,b)
}

设a=7;
设b=10;
const obj={a:23,b:35,c:70};
({a,b}=obj);

控制台日志(a,b)常数{a,b}=obj@Mellet-OP似乎想更新现有变量。@T.J.Crowder啊,是的。对不起;)常数{a,b}=obj@Mellet-OP似乎想更新现有变量。@T.J.Crowder啊,是的。对不起;)T.J.克劳德非常感谢它的成功。我依赖ASI,所以我不知道它是怎么错过的。克劳德非常感谢它的成功。我依赖ASI,所以我不知道它是怎么错过的。