Иногда нужно собрать объект, где часть свойств добавляется только при выполнении условия. Делать это через if можно, но есть более элегантные варианты:
Способ 1: spread + тернарка
const isAdmin = true;
const user =
name: ""Alex"",
...(isAdmin ? role: ""admin"" : ),
;
console.log(user);
// name: ""Alex"", role: ""admin""
Способ 2: логическое И
const age = 25;
const user =
name: ""Lena"",
...(age > 18 && access: ""full"" ),
;
console.log(user);
// name: ""Lena"", access: ""full""
Способ 3: вычисляемые ключи
const isOnline = false;
const user =
name: ""Max"",
...(isOnline && status: ""online"" ),
createdAt: Date.now(),
;
console.log(user);
// name: ""Max"", createdAt: 1690000000000
Главное — помните, что ...false, ...null и ...undefined игнорируются при деструктуризации. На этом и строится трюк.
В итоге код становится компактнее, а объект собирается «по условию» без лишних if-ов.
Если было полезно, ставьте реакции и сохраняйте себе!
Источник: https://vk.com/wall-182420474_7158 #ITобразование #программирование #ИТ #ITкурсы #курсыИТ #ИТкурсы #ИТобразование #информационныетехнологии #IT #курсыIT
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев