【问题标题】:What is this strange Javascript statement "a:3;" and what does it do? [duplicate]这个奇怪的 Javascript 语句“a:3;”是什么?它有什么作用? [复制]
【发布时间】:2021-06-30 05:12:48
【问题描述】:

看这个截图:

我首先犯了一个错误。我知道箭头函数可以在不使用“return”关键字的情况下返回一个值,例如f=()=>3。我认为我可以使用这种紧凑的语法来返回一个对象,比如f=()=>{a:3}。尝试后,我意识到这种情况下的“{a:3}”被解释为函数体,而不是对象字面量。进一步尝试f=()=>{a:3; return 'three'} 证实了这一点:JS 将 {} 中的内容解释为函数体,而 "a:3" 不是属性而是语句。

我的问题是:

a:3; 是什么语句?这是什么语法?它有什么作用?我找不到任何关于它的参考。很奇怪……

【问题讨论】:

标签: javascript syntax


【解决方案1】:

这是一个label,后跟一个未使用的表达式。

f=()=>{
  a: // label
  3 // expression
}

在这种情况下,标签没有任何意义,但 JS 语法并没有禁止它(不幸的是)。

【讨论】:

  • 啊谢谢.....我忘了标签.....再次感谢
猜你喜欢
  • 2011-05-21
  • 2021-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-06
相关资源
最近更新 更多