Вот пример , где круглые скобки имеют значение:
type MyUnion1 = { a: string } | EmailsEntity & { c: boolean }
// {a: string; } | { email: string; label: string; c: boolean; }
type MyUnion2 = ({ a: string } | EmailsEntity) & { c: boolean }
// ^ ^
// { a: string; c: boolean; } | { email: string; label: string; c: boolean; }
Оператор &
(пересечение) имеет более высокий приоритет, чем |
(объединение). Скобки изменят приоритет.