Условная логика
Условная логика — это механизм принятия решений в программировании, основанный на проверке истинности выражений.
Operators: == (Equal), != (Not Equal), > (Greater), < (Less), && (AND), || (OR), ! (NOT). Structures: If, Else If, Else, Switch, Case, Ternary (?:). Optimization: Avoiding deeply nested 'if' trees, using Early Returns, and leveraging Branch Prediction.
graph LR
Center["Условная логика"]:::main
Pre_smart_contract["smart-contract"]:::pre --> Center
click Pre_smart_contract "/terms/smart-contract"
Rel_ethereum["ethereum"]:::related -.-> Center
click Rel_ethereum "/terms/ethereum"
Rel_ipfs["ipfs"]:::related -.-> Center
click Rel_ipfs "/terms/ipfs"
Rel_metamask["metamask"]:::related -.-> Center
click Rel_metamask "/terms/metamask"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Простыми словами
Представь, что ты на развилке дорог. У тебя есть правило: 'ЕСЛИ на знаке нарисован замок — иди направо, ЕСЛИ лес — налево'. Условная логика — это и есть этот выбор направления в зависимости от знака.
🤓 Expert Deep Dive
Важно понимать концепцию 'Short-circuit evaluation' (короткое замыкание вычислений). Например, в условии A || B, если A истинно, то B даже не будет проверяться, так как весь результат уже гарантированно истинен. Это экономит ресурсы процессора. В смарт-контрактах условная логика критически важна для безопасности: функции часто начинаются с условий require(), которые проверяют права пользователя перед выполнением транзакции.