在Lodash,有沒有辦法做這樣的事情:使第一個「truthy」值分配給foo
在Lodash(JavaScript)中,是否有返回第一個「真值」或「有意義」值的函數?
foo = firstTruthy(foo, bar, 10);
?引用「truthy」是因爲某些值,如0
或""
想要被認爲是真的。
背景信息:在JavaScript中,如果我們做
foo = foo || 10;
因此,如果foo
是不確定的,那麼它被設置爲0
,但後來有一個陷阱:如果foo
是0
,它也被視爲falsy,因此foo
被賦值爲10.在Lodash或通用JavaScript中,是否有辦法執行類似
foo = firstTruthy(foo, 10); // this
foo = firstTruthy(foo, bar, 10); // or this
,以便第一個真值被分配到foo
,其中truthy被認爲是:所有不是false
,null
或undefined
? (所以即使0
或""
被認爲是truthy,類似於Ruby)。
是,「某事」或「有意義」......如果某人的銀行賬戶有$ 1美元,那麼這是真的,那麼$ 0不應該是虛假的,因爲它是有效的賬戶價值。同樣對於字符串搜索,如果在位置0找到搜索關鍵字,那麼它也被找到,與1或20相同。 –