Я новичок в утверждении switch
в Javascript.Самое интересное в этом то, что он объединяет несколько операторов if с результатом по умолчанию, если все if провалилось.
Я любопытный человек и хотел бы знать, как можно достичь этого "default", если все остальное не удалосьсо свойством объекта выберите с переменной.
Пример:
const action.type = "non-existing-property";
const runF = {
CREATE_PROJECT_SUCCESS: () => {
console.log("created project");
return state;
},
CREATE_PROJECT_ERROR: () => {
console.log("create project error");
return state;
},
default: ()=>{
console.log("Do default stuff if all else failed");
return state;
}
}[action.type];
runF();
Обычно значением action.type является либо CREATE_PROJECT_SUCCESS, либо CREATE_PROJECT_ERROR.Но что происходит, если собственность не существует?Тогда я хотел бы запустить свойство по умолчанию.
У кого-нибудь есть идеи, как это можно сделать?
Обновление:
Iнашел одно возможное решение, но это требует другого оператора if.Я хотел бы видеть более маленькое, быстрое решение.const action.type = "несуществующее свойство";
let runF = {
CREATE_PROJECT_SUCCESS: () => {
console.log("created project");
return state;
},
CREATE_PROJECT_ERROR: () => {
console.log("create project error");
return state;
}
}[action.type];
if (!runF) {
//runF not defined/valid -> run default function
runF = () => {
console.log("Do default stuff if all else failed");
return state;
};
}
runF();