@babel/plugin-transform-block-scoping 做了哪些不属于 babel 核心行为的事情?

What does @babel/plugin-transform-block-scoping do that isn't part of babel's core behavior?

The docs 还有很多不足之处,Babel 插件有时就是这种情况。

This plugin also validates all const variables. Reassignment of constants is a runtime error and it will insert the necessary error code for those.

我不知道这是什么意思?那不是总是会导致运行时错误吗?

而且它提供的示例只使用了letvar,这进一步加深了我的困惑。

在es5中,const不存在。如果您将代码编译为 es5,则所有 const 声明都将变为 var 声明。该插件将为 const 值插入运行时代码,以便在为它们分配新值时抛出错误,可能是通过将引用转换为访问器函数调用。