在 JavaScript 花括号中返回一个对象导致错误
returning an object in JavaScript curly braces causing error
我目前正在学习 codecademy JavaScript 课程,在对象部分我发现了这个错误。本节是关于工厂函数的,工厂函数有两个参数。工厂函数 return 调用时是一个对象。在 return 语句之后,当我按 enter 并在新行上开始大括号时,程序会出错,但是当我将左大括号移回与 return 关键字相同的行时,错误就会消失。我不知道为什么会这样。任何人都可以了解一下这段代码发生了什么。
出现语法错误的代码
const robotFactory = (model, mobi) =>
{
return
{
model: model,
mobi: mobi,
beep()
{
console.log('Beep Boop');
}
}
};
const one = robotFactory('P-500', true);
console.log(one.model);
有效的代码
const robotFactory = (model, mobi) =>
{
return {
model: model,
mobi: mobi,
beep()
{
console.log('Beep Boop');
}
}
};
const one = robotFactory('P-500', true);
console.log(one.model);
JavaScript 隐含 ;
s。因此,使用您的以下代码:
const robotFactory = (model, mobi) =>
{
return
{
JavaScript 把上面的代码当作:
const robotFactory = (model, mobi) =>
{
return;
{
这是语法错误。所以你永远不应该在自己的行上有任何 return 语句。
更多信息:ECMAScript Automatic Semicolon Insertion, Understanding Automatic Semicolon Insertion in JavaScript, What are the rules for JavaScript's automatic semicolon insertion (ASI)?
我目前正在学习 codecademy JavaScript 课程,在对象部分我发现了这个错误。本节是关于工厂函数的,工厂函数有两个参数。工厂函数 return 调用时是一个对象。在 return 语句之后,当我按 enter 并在新行上开始大括号时,程序会出错,但是当我将左大括号移回与 return 关键字相同的行时,错误就会消失。我不知道为什么会这样。任何人都可以了解一下这段代码发生了什么。
出现语法错误的代码
const robotFactory = (model, mobi) =>
{
return
{
model: model,
mobi: mobi,
beep()
{
console.log('Beep Boop');
}
}
};
const one = robotFactory('P-500', true);
console.log(one.model);
有效的代码
const robotFactory = (model, mobi) =>
{
return {
model: model,
mobi: mobi,
beep()
{
console.log('Beep Boop');
}
}
};
const one = robotFactory('P-500', true);
console.log(one.model);
JavaScript 隐含 ;
s。因此,使用您的以下代码:
const robotFactory = (model, mobi) =>
{
return
{
JavaScript 把上面的代码当作:
const robotFactory = (model, mobi) =>
{
return;
{
这是语法错误。所以你永远不应该在自己的行上有任何 return 语句。
更多信息:ECMAScript Automatic Semicolon Insertion, Understanding Automatic Semicolon Insertion in JavaScript, What are the rules for JavaScript's automatic semicolon insertion (ASI)?