我
format = fromNow ? '' : 'LLL'
在某處看到它可以像format = fromNow && 'LLL',我認為的那樣使用
=if fromNow is true then 'LLL' else nothing但我收到錯誤
輸入'字串| boolean' 不可分配給型別 'string'。型別 'boolean' 不能分配給型別 'string'
uj5u.com熱心網友回復:
我認為這意味著 = 如果 fromNow 為真,則 'LLL' 否則什么都沒有
這不是它的意思。x && y方法:
- 評估
x - 如果步驟 1 中的值是假的,則將該值作為
&&操作的結果并停止 - 如果步驟 1 中的值是真值,則評估
y該值并將其作為&&操作的結果
因此,如果您fromNow是布林值,則fromNow && 'LLL'結果為falseor 'LLL' — 即布林值或字串。但顯然你的format變數被宣告為 type string,所以 TypeScript 不會讓你為它分配一個布林值。
如果您想要字串結果,則最好使用條件運算子1。您可以這樣做,fromNow && 'LLL' || ''但這有點令人費解,而條件運算子版本則簡單明了。
1? :運算子的專有名稱是條件運算子。它是一個三元運算子(一個運算子接受三個運算元,就像二元運算子接受兩個而一元運算子接受一個一樣),目前它是 JavaScript 唯一的三元運算子,但這可能會改變。:-)
uj5u.com熱心網友回復:
之前也有人問過類似的問題。你可以在這里找到一個很好的答案和詳細的解釋
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/371412.html
標籤:打字稿
