Javascript IFFE类型错误“;“字符串”;这不是一个函数
查看以下es6代码:Javascript IFFE类型错误“;“字符串”;这不是一个函数,javascript,ecmascript-6,Javascript,Ecmascript 6,查看以下es6代码: let person = "John Malkovich" (() => { console.log("Original person was ", person); person = "Drew Barrymore"; console.log("New person " + person); })(); 当我执行此程序时,它会抛出以下错误: "TypeError: \"John Malkovich\" is not a function 现在我知
let person = "John Malkovich"
(() => {
console.log("Original person was ", person);
person = "Drew Barrymore";
console.log("New person " + person);
})();
当我执行此程序时,它会抛出以下错误:
"TypeError: \"John Malkovich\" is not a function
现在我知道如果我添加一个
代码>在第1行末尾,即让person=“John Malkovich”代码>程序工作。我唯一头疼的是无法理解为什么会发生这种奇怪的错误。如果语法在这一点上是有效的,那么表达式后面的一个开括号(可能中间有一个换行符)将导致解释器试图将表达式作为函数调用。即:
someExpression()
或
或
所有人都将尝试调用someExpression
。不会自动插入分号,因为如果someExpression
恰好可调用,则语法有效。(ASI通常只插入分号,以将不同的语句彼此分开,否则语法将无效)
someExpression ()
someExpression
()