我正在从项目angular2-rxjs-chat应用程序ong github上学习。在代码here中,下面给出了一行代码:
threads[message.thread.id] = threads[message.thread.id] ||
message.thread;
其中先前已在代码中的第29行定义了线程,如下所示:
let threads: {[key: string]: Thread} = {};
代码中的注释指出“将消息的线程存储在我们的acuuculator'线程中。我需要对赋值运算符的两侧如何在赋值运算符的两侧进行一些解释我们有相同的东西即,线程[message.thread.id]。如果第31行的语句是
(threads[message.thread.id] = message.thread;)
然后我会解释它为一个值分配给地图“threads”中的一个键。但我不明白全线。
答案 0 :(得分:0)
这意味着如果find
已有值,则保留该值,否则将值设置为threads[message.thread.id]
。
如果meassage.thread
之前的部分评估为真值(不是||
,null
,undefined
,...)false
|| <{1}} || then the part after
||`返回。
你也可以把它写成
is not evaluated and the result from the part before