【问题标题】:Declare JavaScript variable as reference将 JavaScript 变量声明为引用
【发布时间】: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


【解决方案1】:

也许你正在寻找解构赋值

let foo = { bar: "baz" };
let { bar } = foo;

console.log(bar); // "baz"

【讨论】:

  • 虽然这在技术上并不能回答我关于传递引用的问题,但这正是我的想法并解决了我的问题。
  • 我很高兴格雷厄姆,你也可以重命名变量:let{ bar: newBar } = foo; console.log(newBar);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-05-28
  • 2015-09-04
  • 2012-02-13
  • 1970-01-01
  • 2010-11-01
  • 2012-12-21
  • 2022-01-22
相关资源
最近更新 更多