Используя оператор if, мы получим так много вложенности, и если читаемость оператора снизится, если размер кода увеличится.
If Statement пример:
if (item) {
if (item === 'palladium') {
printPalladiumPrice();
} else if (item === 'silver') {
printSilverPrice();
} else if (item === 'gold') {
printGoldPrice();
} else if (item === 'platinum') {
printPlatinumPrice();
} else if (item === 'diamond') {
printDiamonPrice();
} else {
printAllItemPrice();
}
}
С той же проблемой мы столкнемся с оператором Switch. Если размер увеличивается, читаемость Case Switch будет уменьшаться, как показано ниже.
Case Switch пример:
switch (item) {
case 'palladium':
printPalladiumPrice();
break;
case 'silver':
printSilverPrice();
break;
case 'gold':
printGoldPrice();
break;
case 'platinum':
printPlatinumPrice();
break;
case 'diamond':
printDiamondPrice();
break;
default:
printAllItemPrice();
}
Если мы используем JSON OBJECT, наши условия уменьшатся до одного, если оператор и код будет очень читабельным. Ниже приведен пример написания «Вложенных чистых условий» с использованием объекта JSON.
JSON Объект пример: -
const itemObj = {
'palladium': printPalladiumPrice,
'silver': printSilverPrice,
'gold': printGoldPrice,
'platinum': printPlatinumPrice,
'diamond': printDiamondPrice,
};
if (item in itemObj) {
itemObj[item]();
}
Теперь наши условия сокращены до один код if и очень удобочитаемый.