[英]Problems extracting property names from an object (JAVASCRIPT)
[英]Safely extracting property from object in Javascript
我有一個這個功能:
const someVar = someOtherVar.pipe(
// filter((data) => data && !data.loading) // Works
filter(({ loading }) => !loading), // Doesn't work if data is Null
);
現在,正如評論中提到的,注釋代碼在每種情況下都有效,但我想讓它以第二種方式工作。 可能存在數據為空的情況。 所以,我會收到這個錯誤
類型錯誤:無法讀取 null 的屬性“正在加載”
有沒有辦法安全地解構 JavaScript 對象?
這里有幾個選項可以使其與您的第二個選項一起使用。
filter(x => x).filter(({ loading }) => !loading)
或者
map(x => x || {}).filter(({ loading }) => !loading)
這兩個選項可能不如您注釋的代碼有效,但這些可能會提高可讀性。
null
不是一個對象,這就是為什么你不能安全地解構它 :-) 不,你不能在這里使用解構。
最接近有用的語法特征是data => !data?.loading
from the optional chaining proposal ,但這相當於!(data && data.loading)
而不是data && !data.loading
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.