这种写法该怎么理解?

!param && (param = {});

我知道上面这句话的意思是

if(!param) { param = {} }

我想知道的是后面的 && (param = {}) 该怎么读,怎么理解。

阅读 2.3k
3 个回答

如果param不存在(null,undefined,0,false),就给param赋值为{};

后面是一个赋值操作,把{}赋值给param变量

!param && (param = {});
param非真,并且param={},这条语句就执行结束。
强烈不推荐前面的写法,看起来方便酷炫,实际可读性差

!param 返回为true的时候,执行param = {}这个代码。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题