It is meanwhile routine on this platform that questions come up on the use of, or problems (i.e. "unexpected behavior") with, Subscript
. Sanders description of those as a "typographical construct" is just perfect!
Because in the beginning I had problems myself in proper understanding, I would like to give a little explanation:
If you have a variable (say a
) and you make an assignment, that means that the variable gets an "ownvalue":
a = 3;
OwnValues[a]
(* Out: {HoldPattern[a]\[RuleDelayed]3} *)
Whereas when you make the assignments:

there are no OwnValues
at all! The point rather is that in a way you changed the properties of Subscript
:

This is pretty much the same as if you write:
f[1] = 3;
There is no problem in doing this, but one would not want to call f[1]
a "variable".