【发布时间】:2020-07-31 02:54:44
【问题描述】:
我记得有 Javascript 的一个特性,因此类似以下的东西是可能的:
let foo = { bar: "bar" };
let { baz } = foo.bar;
baz = "baz";
console.log(foo.bar); // "baz"
这样的功能存在吗?如果是这样,让它工作的正确语法是什么?
【问题讨论】:
-
结果正确吗?在我这边,日志打印“bar”
-
不,没有。还是您在谈论
with声明?let变量永远不会引用其他内容。 -
@Bergi 不,我认为这不是我要说的。我想我记得看过一个视频,其中有人写了与我提供的示例类似的内容,但也许我只是在想象。
-
是的,你一定是。标识符评估为引用的唯一情况是全局变量、
with范围或模块导入。 -
@Bergi 是否有任何类型的标识符声明类似于
let { baz } = foo.bar?它不一定是参考。我记得的关键部分是变量名周围的花括号。
标签: javascript reference pass-by-reference variable-declaration