邏輯運算符 || 跟 ?? 的差別
結論
??
比||
嚴謹??
是左邊只是null
或是undefined
,才會 return 右邊- 是只有
null
跟undefined
,就算左邊是false
,也不會 return 右邊,挺有趣的,如下圖 null
是 javascript 裡面,是特殊的 object
,在某些狀況會被當成是truthy value
,如下圖
- 是只有
||
左邊是falsy value
就會 return 右邊
驗證
name 在這邊沒被 assign 成 default value [],因為null
被當成是truthy
falsy value 列表
- false
- 0
- -0
- "" (空字串)
- NAN
- null
- undefined