SyntaxError: JS 中无效的速记属性初始值设定项

SyntaxError: JS 中无效的速记属性初始值设定项

Invalid shorthand property initializer Error in JS

当我们使用等号而不是冒号来分隔对象中的键和值时,会发生“SyntaxError: Invalid shorthand property initializer”。

要解决该错误,请确保在对象的键和值之间使用冒号,例如const obj = {name: 'Tom', age: 30}.

syntaxerror 无效的速记属性初始值设定项

下面是错误如何发生的示例。

索引.js
// ⛔️ Uncaught SyntaxError: Invalid shorthand property initializer const obj = { name = 'Tom', // 👈️ should be : and not = age = 30, }

请注意,我们使用等号来分隔对象中的键值对

声明对象时,使用冒号分隔键值对。

索引.js
const obj = { name: 'Tom', age: 30, }; console.log(obj); // 👉️ {name: 'Tom', age: 30}

但是,如果要向对象添加新的键值对,则可以使用等号。

索引.js
const obj = { name: 'Tom', age: 30, }; obj.country = 'Chile'; console.log(obj); // 👉️ {name: 'Tom', age: 30, country: 'Chile'}
如果键包含空格或以数字或特殊字符开头,则必须使用括号表示法而不是点表示法向对象添加键值对。
索引.js
const obj = { name: 'Tom', age: 30, }; obj['street address'] = 'Example 1234'; // 👉️ {name: 'Tom', age: 30, 'street address': 'Example 123'} console.log(obj); console.log(obj['street address']); // 👉️ Example 123

使用点表示法访问对象属性更简洁,但有一些限制。

如果出现以下情况,您应该使用括号表示法:

  • 键包含空格
  • 键以数字或特殊字符开头
  • 密钥包含连字符

结论

当我们使用等号而不是冒号来分隔对象中的键和值时,会发生“SyntaxError: Invalid shorthand property initializer”。

要解决该错误,请确保在对象的键和值之间使用冒号,例如const obj = {name: 'Tom', age: 30}.