??
не является «оператором» в том смысле, что он выполняет «операцию» со значением операндов. Вы должны рассматривать его как языковую конструкцию .
Предположим, у вас было:
node = node.next;
Хотели бы вы иметь возможность делать следующее?
node .= next;
Я думаю, что ??=
не существует по той же причине, по которой .=
не существует.
Кроме того, унарные операторы, такие как +=
, *=
и т. Д., Имеют прямые аналоги на уровне сборки. Псевдо-сборки:
add reg0, 1
mul reg1, 5
Это просто "естественно", что эти операторы существуют.