避免在对象中重复声明变量。例如:
function foo({bar}) { let baz = bar; console.log(baz); }
const obj = { bar: 'hello', baz: 'world' };
foo(obj); // 输出 'hello',而不是 'world'。
在上述示例中,变量 baz 在函数内部被声明了两次:一次是通过解构赋值从对象中获取 bar 值的副本,另一次则是对象中的 baz 属性。这会导致函数内部访问的是 bar 的副本而不是预期的 obj.bar。为了避免这种重复声明的问题,建议使用不同的变量名或属性名。
上一篇:变量提升、作用域和函数声明
下一篇:变量通过堆栈神奇地变成了未定义