如果我用

loginError := if (loginItem.username.isEmpty) None else Some(loginItem.isUsernameValid)

编译器说:
 illegal start of simple expression

当更改为
val err = if (loginItem.username.isEmpty) None else Some(loginItem.isUsernameValid)
loginError := err

一切顺利。

为什么我必须使用一个临时变量?

最佳答案

在第一种情况下,您需要在if表达式周围加上括号,因为(用外行的话)if的优先级比:=低:

loginError := (if (loginItem.username.isEmpty) None else Some(loginItem.isUsernameValid))

关于scala - 使用:=时,scalajs中出现“illegal start of simple expression”错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42895246/

10-10 05:29