Javascript 在Node.js 8.9.4中使用默认参数进行对象分解
我在这里运行这段代码时遇到了一个问题,它被保存到一个文本文件中,并与命令行中的节点一起运行Javascript 在Node.js 8.9.4中使用默认参数进行对象分解,javascript,node.js,object,destructuring,default-parameters,Javascript,Node.js,Object,Destructuring,Default Parameters,我在这里运行这段代码时遇到了一个问题,它被保存到一个文本文件中,并与命令行中的节点一起运行 let x; {k1: x = null } = {k1: "Hello"}; console.log(x); 运行此操作将在赋值运算符无效时引发错误 但是,当代码直接输入到节点解释器时,它将打印出我所期望的“Hello” 有人知道这是什么吗?其思想是使用默认值构造一个类,并使用相同的方法更新该类,在缺少某些内容时重用当前值。您必须使用 或者只是: let { k1: x = null } = { k
let x;
{k1: x = null } = {k1: "Hello"};
console.log(x);
运行此操作将在赋值运算符无效时引发错误
但是,当代码直接输入到节点解释器时,它将打印出我所期望的“Hello”
有人知道这是什么吗?其思想是使用默认值构造一个类,并使用相同的方法更新该类,在缺少某些内容时重用当前值。您必须使用
或者只是:
let { k1: x = null } = { k1: "Hello" };
赋值语句周围的圆括号(…)是必需的
在不使用
声明
{a,b}={a:1,b:2}不是有效的独立语法,因为{a,b}
左侧被视为块,而不是对象文字
但是,({a,b}={a:1,b:2})和var{a,b}={a:1,
b:2}
注意:(…)表达式前面必须加分号或
它可用于执行前一行上的函数
let { k1: x = null } = { k1: "Hello" };