ES6面试易错点总结

本文深入探讨JavaScript中let和const关键字的使用特性,重点分析了暂时性死区的概念及其实现细节。通过具体示例,展示了不同情况下let和const声明变量的行为差异,帮助开发者更好地理解和运用这些现代JavaScript特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.let/const

//  暂时性死区
function bar(x = y, y = 2) {
  return [x, y];
}
bar(); // 报错 上面代码中,调用bar函数之所以报错(某些实现可能不报错),是因为参数x默认值等于另一个参数y,而此时y还没有声明,属于”死区“。如果y的默认值是x,就不会报错,因为此时x已经声明了。

function bar(x = 2, y = x) {
  return [x, y];
}
bar(); // [2, 2]


// 不报错
var x = x;

// 报错
let x = x;
// ReferenceError: x is not defined
复制代码

未完待续...

转载于:https://juejin.im/post/5be16352f265da6110368349

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值