在 package.json 中使用 "type": "module" 会破坏 javascript 默认参数

问题描述 投票:0回答:1

我有一个

package.json
文件,其中包含行
"type": "module",
。此行在运行时会触发错误
node a_script.js
。就好像 ECMAScript 的默认参数功能被禁用一样。

// a_script.js
const doThing = (foo = "A", bar = "B") => {
  console.log(foo);
  console.log(bar);
}

doThing(foo="AYE")              // Out: AYE\nB
doThing(bar="BEE")              // Out: A\nBEE
doThing(foo="AYE", bar="BEE")   // Out: AYE\nBEE
doThing()                       // Out: A\nB

"type": "module",
中删除
package.json
可以让脚本正常运行。有问题的错误是,

dothing(foo="AYE")
           ^

ReferenceError: foo is not defined

这是什么原因?

javascript node.js ecmascript-6 package.json
1个回答
0
投票

正如@Jaromanda X 在评论中所说,

使用模块时,代码是“严格的” - 所以,是的, foo 未声明 变量

© www.soinside.com 2019 - 2024. All rights reserved.