临时性死区

  1. function bar(x = y, y = 2) {
  2. return [x, y];
  3. }
  4. bar(); // Uncaught ReferenceError: Cannot access 'y' before initialization
  5. function bar(x = 2, y = x) {
  6. return [x, y];
  7. }
  8. bar(); // [2, 2]

:::success 先执行x=y时,因为变量y还未初始化,所以发生报错。Cannot access ‘y’ before initialization :::

参考: https://es6.ruanyifeng.com/#docs/let