Оператор «присвоєння логічного і» в JavaScript
Невеликий але корисний патерн у сучасному JavaScript — оператор &&= (logical assignment operators). Він ідеально підходить для безпечного оновлення: feature flags, permissions або runtime-обмеження.
Дано
const config = {
features: {
payments: true,
refunds: true
}
}
const isBillingEnabled = false
Проблема
Зайві перевірки та роздутий код. Раніше безпечне оновлення значення виглядало якось так:
// update
if (config.features.payments) {
config.features.payments = isBillingEnabled
}
// or
config.features.payments =
config.features.payments && isBillingEnabled
Рішення
Тепер завдяки logical assignment operators (||=, &&=, ??=) ми можемо зробити це простіше:
// Modern &&= operator (ES2021) config.features.payments &&= isBillingEnabled
Таким чином &&= дозволяє безпечне оновлення тільки якщо значення null, undefined aбо false.
P.S. в коментарях автору трохи напхали, що таке використання цієї фічі є навіть небезпечним, т.я. може змінюватись тип даних і взагалі ця фіча юзлес. Якщо є приклад більш практичного використання — пишіть у коментарях.
🌎 Оригінал: medium.com
Якщо вам цікаво читати шортси англомовних статей українською, то ви можете більше для себе знайти у моєму блозі crynet.dev

Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів