You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NodeJS v14.17.0中Logical OR assignment (||=)报错如何解决

问题成因

逻辑或赋值运算符||=是ES2021(ES12)才正式纳入ECMAScript标准的语法特性,Node.js对该特性的原生支持最低版本为v15.0.0。你当前使用的v14.17.0属于Node.js 14 LTS版本,内置的V8引擎未兼容该语法,解析代码时无法识别||= token,因此抛出语法错误。

解决方法

你可以根据项目实际情况选择以下任意一种方案:

  • 升级Node.js版本
    升级到v15.0.0及以上版本即可原生支持||=语法,优先选择v16.x、v18.x或更高的LTS稳定版本,对新特性的兼容性更完善。
  • 改写为等价的兼容代码
    ||=的逻辑是仅当左侧变量为假值时,才将右侧值赋值给左侧变量,完全等价于旧版标准支持的写法,你可以把代码替换为:
    parish.email = parish.email || parishB.EMAIL
    
    该写法在所有Node.js版本都可正常运行,执行逻辑和原写法完全一致。
  • 配置Babel转译新语法
    如果项目必须固定使用Node.js 14版本,可以引入Babel编译工具,安装@babel/plugin-proposal-logical-assignment-operators转译插件,将新语法自动转换为低版本兼容的代码后再运行。

内容的提问来源于stack exchange,提问作者João Pimentel Ferreira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 17:45:03