在javascript中,我有很多這樣的代碼。javascript ignore-if-null運算符?
if (ctrl && ctrl.main && ctrl.main.user) {
SetTheme(ctrl.main.user.theme);
}
這是令人討厭的長。在其他語言中,你可以做簡單的
SetTheme(ctrl?.main?.user?.theme);
有沒有辦法做到這一點在JavaScript?
我試過,
function safeGet(a,b) { return a ? a[b] : null; }
和
SetTheme(safeGet(safeGet(safeGet(ctrl, 'main'), 'user'), 'theme'));
但是,這不是很可讀。
在JavaScript邏輯運算符&&''是你最好的選擇。無論如何,這似乎更像是一個關於JS的咆哮,而不是一個問題。 – Timo
是的,對不起。重寫爲不太rantish –
@Timo他要求的解決方案 - 不僅咆哮 – hack3rfx