如果a不为空的话,使a为1,为什么会报一个错误呢?
a != null && (a = 1)
运算符优先级 的问题 &&
的优先级比 =
的优先级高
a != null && a = 1
等效于 (a != null && a) = 1
参考链接
https://developer.mozilla.org...
(a != null) && (a = 1)
优先级问题
a = 1
是赋值语句啊。。。不应该是a == 1
吗。。。
a == 1
(a != null) && (a = 1) // 1
这个涉及到运算符优先级问题, 顺序是 != && =
具体可参考运算符优先级