babel使用中出现“use strict“; 严格模式 如何去除?

这是babelES6转译ES5自动加上的,使用严格模式的意思;

主要有以下几个:(错误检测、规范、效率、安全、面向未来)

  - 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;

  - 消除代码运行的一些不安全之处,保证代码运行的安全;

  - 提高编译器效率,增加运行速度;

  - 为未来新版本的Javascript做好铺垫。

使用babel进行es6转es5时,默认转化之后是严格模式,有些时候我们想去除严格模式。

解决方法如下

安装 babel-plugin-transform-remove-strict-mode 依赖

安装方法:npm install babel-plugin-transform-remove-strict-mode

修改 .babelrc文件 如下:

{

“plugins”: [“transform-remove-strict-mode”]
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
`babel/plugin-proposal-private-methods` 是 Babel 的一个插件,它为 JavaScript 的类添加了私有方法的支持。 私有方法是指只能在类内部被调用的方法,不能被外部访问。这种方法可以避免命名冲突和数据泄漏等问题,增强了代码的封装性和安全性。 在 Babel 使用 `babel/plugin-proposal-private-methods` 插件可以将私有方法转换成普通方法,在类外部不能直接调用。具体来说,它会将私有方法的名称转换成一个独特的字符串,以避免命名冲突,并将其放在类的构造函数。 例如,以下代码的 `#calculate` 方法就是一个私有方法: ```javascript class Calculator { #calculate(a, b) { return a + b; } add(a, b) { return this.#calculate(a, b); } } ``` 使用 `babel/plugin-proposal-private-methods` 插件编译后,会将该代码转换成以下形式: ```javascript "use strict"; function _classPrivateMethodGet(receiver, privateSet, fn) { ... } function _classPrivateMethodSet() { ... } var Calculator = /*#__PURE__*/function () { function Calculator() { _classPrivateMethodSet(this, _calculate, function () { ... }); } var _calculate = /*#__PURE__*/new WeakSet(); var _proto = Calculator.prototype; _proto.add = function add(a, b) { return _classPrivateMethodGet(this, _calculate, _calculate2).call(this, a, b); }; function _calculate2(a, b) { return a + b; } return Calculator; }(); ``` 可以看到,`_calculate` 方法被转换成了一个 `WeakSet`,并在类的构造函数进行了初始化。调用私有方法 `#calculate` 的代码被转换成了 `_classPrivateMethodGet` 函数的调用,该函数会根据私有方法的名称和类的实例对象查找对应的私有方法并返回。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小气大方的阿俊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值